Welcome to Apache Libcloud’s documentation!¶
Apache Libcloud is a Python library which hides differences between different cloud provider APIs and allows you to manage different cloud resources through a unified and easy to use API.
Resource you can manage with Libcloud are divided in the following categories:
- Cloud Servers and Block Storage - services such as Amazon EC2 and RackSpace CloudServers
- Cloud Object Storage and CDN - services such as Amazon S3 and Rackspace CloudFiles
- Load Balancers as a Service - services such as Amazon Elastic Load Balancer and GoGrid LoadBalancers
- DNS as a Service - services such as Amazon Route 53 and Zerigo

A subset of supported providers in Libcloud.
Documentation¶
Main¶
- Getting Started
- Supported Providers
- Compute
- Object Storage
- Load Balancer
- DNS
- Troubleshooting
- Frequently Asked Questions (FAQ)
- Registering a third party driver
- SSL Certificate Validation
- Using Libcloud in multi-threaded and async environments
- Working with the object oriented APIs
- Example 1 - listing records for a zone with a known id
- Example 2 - creating an EC2 instance with a known NodeSize and NodeImage id
- Example 1 - listing records for a zone with a known id
- Example 2 - creating an EC2 instance with a known NodeSize and NodeImage id
- Example 3 - creating an EC2 instance with an IAM profile
Developer Information¶
- Developer Information
- Development
- Contributing
- General contribution guidelines
- Code style guide
- Git pre-commit hook
- Code conventions
- Docstring conventions
- Contribution workflow
- 1. Start a discussion on the mailing list
- 2. Open a new issue on our issue tracker
- 3. Fork our Github repository
- 4. Create a new branch for your changes
- 5. Make your changes
- 6. Write tests for your changes and make sure all the tests pass
- 7. Commit your changes
- 8. Open a pull request with your changes
- 9. Wait for the review
- 10. Squash the commits and generate the patch
- 11. Attach a final patch with your changes to the corresponding JIRA ticket
- Note about Github
- Syncing your git(hub) repository with an official upstream git repository
- Contributing Bigger Changes
- Supporting Multiple Python Versions
Committer Guide¶
Other¶
- Changelog
- Changes with Apache Libcloud 0.14.0
- Changes with Apache Libcloud 0.14.0-beta3
- Changes with Apache Libcloud 0.13.3
- Changes with Apache Libcloud 0.13.2
- Changes with Apache Libcloud 0.13.1
- Changes with Apache Libcloud 0.13.0
- Misc
- Changes with Apache Libcloud 0.12.4
- Changes with Apache Libcloud 0.12.3
- Changes with Apache Libcloud 0.12.1
- Changes with Apache Libcloud 0.11.4
- Changes with Apache Libcloud 0.11.3
- Changes with Apache Libcloud 0.11.2
- Changes with Apache Libcloud 0.11.1
- Changes with Apache Libcloud 0.11.0
- Changes with Apache Libcloud 0.10.1
- Changes with Apache Libcloud 0.9.1
- Changes with Apache Libcloud 0.8.0
- Changes with Apache Libcloud 0.7.1
- Changes with Apache Libcloud 0.7.0
- Changes with Apache Libcloud 0.6.2
- Changes with Apache Libcloud 0.6.1
- Changes with Apache Libcloud 0.6.0-beta1
- Changes with Apache Libcloud 0.5.2
- Changes with Apache Libcloud 0.5.0
- Changes with Apache Libcloud 0.4.2 (Released January 18, 2011)
- Changes with Apache Libcloud 0.4.0 [Released October 6, 2010]
- Changes with Apache Libcloud 0.3.1 [Released May 11, 2010]
- Changes with Apache Libcloud 0.3.0 [Tagged May 6, 2010, not released]
- Changes with Apache Libcloud 0.2.0 [Tagged February 2, 2010]
- Upgrade Notes
- Libcloud 0.14.0
- Default Content-Type is now provided if none is supplied and none can be guessed
- SSH Key pair management functionality has been promoted to the base API
- New default kernel versions used when creating Linode servers
- Addition of new “STOPPED” node state
- Amazon EC2 compute driver changes
- Rackspace compute driver changes
- CloudStack compute driver changes
- Joyent compute driver changes
- ElasticHosts compute driver changes
- Unification of extension arguments for security group handling in the EC2 driver
- CloudFiles Storage driver changes
- Rackspace DNS driver changes
- Rackspace load balancer driver changes
- ScriptDeployment and ScriptFileDeployment constructor now takes args argument
- Pricing data changes
- RecordType ENUM value is now a string
- Cache busting functionality is now only enabled in Rackspace first-gen driver
- libcloud.security.VERIFY_SSL_CERT_STRICT variable has been removed
- get_container method changes in the S3 driver
- Libcloud 0.8
- Libcloud 0.7
- Libcloud 0.6
- Libcloud 0.14.0
- Security
Note
Unless noted otherwise, all of the examples and code snippets in the documentation are licensed under the Apache 2.0 license.