<!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/20/" property="og:url">
    
    

    

    <link href='/assets/global-49923225b15584efebd7a337daac5102.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/2011/11/17/libcloud-0-6-2-released.html">Libcloud 0.6.2 released</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Nov 17, 2011</span>

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

<p>This is primary a bug-fix release and includes the following bug-fixes:</p>

<ul>
  <li>Fix the PollingConnection class and actually use the poll_interval class
variable (previously it was ignored). This bug-fix affects Rackspace Cloud
DNS driver, CloudStack and Ninefold compute driver.</li>
  <li>Fix a bug in the Rackspace Cloud DNS driver exception handling and throw
an Exception if an unexpected status code is returned.</li>
</ul>

<p>Besides the bug-fixes it also includes some new features:</p>

<ul>
  <li>Support for Amazon’s new location (Oregon)</li>
  <li>Expose CloudStack provider. This way it can be used with an arbitrary
CloudStack installation and not just with the provider drivers which
sub-class it (e.g. Ninefold.com driver).</li>
</ul>

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

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

<p>Libcloud 0.6.2 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-6.html.</p>

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

<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.6.2/.</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/branches/0.6.x/CHANGES?revision=1202009&amp;view=markup">https://svn.apache.org/viewvc/libcloud/branches/0.6.x/CHANGES?revision=1202009&amp;view=markup</a>.</p>

<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-users/201111.mbox/%3CCAJMHEmJTN407_JJRfnwDuJxNsWCupEGc0cXWxs%3DM-n8HoHoQKQ%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/2011/11/09/libcloud-0-6-1-released.html">Libcloud 0.6.1 released</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Nov 09, 2011</span>

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

<p>This release represents a big milestone for us and includes many
improvements and new drivers, but the most important thing is a brand new
DNS API.</p>

<p>DNS API allows users to manage DNS service provided by many different
providers. This release includes a driver for Linode DNS (
http://www.linode.com/features.cfm), Zerigo DNS (http://www.zerigo.com/)
and Rackspace Cloud DNS (
http://www.rackspace.com/cloud/cloud_hosting_products/dns/). In the future
we also plan to expand it (hopefully with your help) and add new drivers
for providers such as Amazon and others.</p>

<p>Other notable changes, bug-fixes and improvements:</p>

<p><strong>Documentation</strong></p>

<ul>
  <li>New documentation which is available at http://libcloud.apache.org/docs/</li>
</ul>

<p><strong>General</strong></p>

<ul>
  <li>SSL certificate validation is now enabled by default. If no CA
certificate files are found on startup, an exception is thrown.</li>
</ul>

<p><strong>Compute</strong></p>

<ul>
  <li>New driver for Ninefold.com (also a first driver for public Australian
cloud provider in Libcloud)</li>
  <li>Support for OpenStack 1.1 API and many other improvements in the
OpenStack driver</li>
  <li>Linode driver now support a new Japan location</li>
  <li>Support for deployment using an SSH key</li>
  <li>Amazon EC2 driver now supports deploy functionality using an SSH key</li>
</ul>

<p><strong>Storage</strong></p>

<ul>
  <li>New driver for Google storage (http://code.google.com/apis/storage/)</li>
  <li>New driver for Ninefold.com storage (http://ninefold.com/cloud-storage/)</li>
</ul>

<p>Load Balancer:</p>

<ul>
  <li>New driver for ninefold.com (
https://ninefold.com/support/display/SPT/Load+Balancing)</li>
  <li>Rackspace driver now also supports UK location</li>
</ul>

<p>Any many other improvements and bug fixes!</p>

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

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

<p>Libcloud 0.6.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-6.html.</p>

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

<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.6.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>

<p>###Thanks</p>

<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/trunk/CHANGES?revision=1198753&amp;view=markup">https://svn.apache.org/viewvc/libcloud/trunk/CHANGES?revision=1198753&amp;view=markup</a>.</p>

<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-users/201111.mbox/%3CCAJMHEm+8XX704mSY4qw4P0YSBjGK=0SWCKjzSHBe8sLD__2UnA@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/10/19/libcloud-0-6-0-beta1-released.html">Libcloud 0.6.0-beta1 released</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Oct 19, 2011</span>

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

<p>This release represents a big milestone for us and includes many
improvements and new drivers, but the most important thing is a brand new
DNS API.</p>

<p>DNS API allows users to manage DNS service provided by many different
providers. This release includes a driver for Linode DNS (
http://www.linode.com/features.cfm), Zerigo DNS (http://www.zerigo.com/)
and Rackspace Cloud DNS (
http://www.rackspace.com/cloud/cloud_hosting_products/dns/). In the future
we also plan to expand it (hopefully with your help) and add new drivers
for providers such as Amazon and others.</p>

<p>Other notable changes, bug-fixes and improvements:</p>

<p><strong>Documentation</strong></p>

<ul>
  <li>New documentation which is available at http://libcloud.apache.org/docs/</li>
</ul>

<p><strong>General</strong></p>

<ul>
  <li>SSL certificate validation is now enabled by default. If no CA
certificate files are found on startup, an exception is thrown.</li>
</ul>

<p><strong>Compute</strong></p>

<ul>
  <li>New driver for Ninefold.com (also a first driver for public Australian
cloud provider in Libcloud)</li>
  <li>Support for OpenStack 1.1 API and many other improvements in the
OpenStack driver</li>
  <li>Linode driver now support a new Japan location</li>
  <li>Support for deployment using an SSH key</li>
  <li>Amazon EC2 driver now supports deploy functionality using an SSH key</li>
</ul>

<p><strong>Storage</strong></p>

<ul>
  <li>New driver for Google storage (http://code.google.com/apis/storage/)</li>
  <li>New driver for Ninefold.com storage (http://ninefold.com/cloud-storage/)</li>
</ul>

<p><strong>Load Balancer</strong></p>

<ul>
  <li>New driver for ninefold.com (
https://ninefold.com/support/display/SPT/Load+Balancing)</li>
  <li>Rackspace driver now also supports UK location</li>
</ul>

<p>Any many other improvements and bug fixes!</p>

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

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

<p>Libcloud 0.6.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-6.html.</p>

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

<p>API documentation can be found at http://libcloud.apache.org/apidocs/0.6.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/trunk/CHANGES?revision=1198753&amp;view=markup">https://svn.apache.org/viewvc/libcloud/trunk/CHANGES?revision=1198753&amp;view=markup</a>.</p>

<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-users/201111.mbox/%3CCAJMHEm+8XX704mSY4qw4P0YSBjGK=0SWCKjzSHBe8sLD__2UnA@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/09/01/libcloud-on-floss-weekly.html">Episode about Libcloud on FLOSS Weekly podcast</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Sep 01, 2011</span>

  <div class="post-content">
    <p>Tomaz Muraus has been guest on a <a href="http://twit.tv/show/floss-weekly/">FLOSS weekly podcast</a> where he talked
about Apache Libcloud.</p>

<p>For a recording and show notes, please see the official show page -
<a href="http://twit.tv/show/floss-weekly/181">FLOSS Weekly 181</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/podcasts.html" rel="tag">podcasts</a></p>
    </div>
  </div>
</div>

    
  
    
      <div class="post">
  
    <h2><a href="/blog/2011/07/04/libcloud-0-5-2-released.html">Libcloud 0.5.2 released</a></h2>
  
  <span class="post-date-author">By Tomaz Muraus on Jul 04, 2011</span>

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

<p>I would like to announce Libcloud 0.5.2. This release primary fixes two bugs
which were introduced in Libcloud 0.5.0 and improves listing of the objects
in the containers which contain more objects that fit into a single
response.</p>

<h3 id="notable-changes-bug-fixes-and-improvements">Notable changes, bug-fixes and improvements</h3>

<p><strong>Compute</strong></p>

<ul>
  <li>Fix a regression in the <code class="language-plaintext highlighter-rouge">deploy_node()</code> method and make it more robust</li>
  <li>Fix a regression in the Nimbus driver create_node() method</li>
  <li>Improved node name and tag handling in the Amazon EC2 driver</li>
  <li>Improved pricing and response handling in the OpenStack driver</li>
  <li>New driver for SkaliCloud (skalicloud.com)</li>
  <li>New driver for ServerLove (serverlove.com)</li>
</ul>

<p><strong>Storage</strong></p>

<ul>
  <li>Fix handling of the containers with a lot of objects. Now an iterator
object is returned when user calls <code class="language-plaintext highlighter-rouge">list_container_objects()</code> method
and this object transparently handles pagination.</li>
</ul>

<p>For a full list of changes, please check the CHANGES file &lt;
https://github.com/apache/libcloud/blob/0.5.2/CHANGES&gt;.</p>

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

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

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

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

<p>API documentation can be found at https://libcloud.apache.org/apidocs/0.5.2/</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>

<p>Source: <a href="http://mail-archives.apache.org/mod_mbox/libcloud-dev/201107.mbox/%3CCAJMHEm+-=3NxsZj+n+bogmYzGsxDJQOU_2aJbuNS77nmnsekJw@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>

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

  
    
      
        <span class="pull-right"><a href="/blog/page/19/">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:34:03 +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>
