Welcome to Apache Libcloud’s documentation!¶
Note
Libcloud v3.5.0 dropped support for Python 3.5 and now only supports Python >= 3.6.
Libcloud v3.0.0 dropped support for Python 2.7 and Python 3.4 and now only supports Python >= 3.5.
If you still need to us Libcloud with one of the now unsupported Python versions, you can do that by using an older release of Libcloud which still supports that Python version (Libcloud v3.4.x for Python 3.5 and Libcloud v2.8.x for Python 2.7 and Python 3.4).
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
- DNS as a Service - services such as Amazon Route 53 and Zerigo
- Container Services - container virtualization like Docker and Rkt as well as container based services
- Backup as a Service - services such as Amazon EBS and OpenStack Freezer
Documentation¶
Main¶
- Getting Started
- Supported Providers
- Supported Python Versions
- Third Party Drivers
- Compute
- Object Storage
- Load Balancer
- DNS
- Container
- Backup
- Troubleshooting
- API Documentation
- Frequently Asked Questions (FAQ)
- Why are the block storage related management methods located in the compute API?
- What are the extension methods and arguments?
- How do I test if provider credentials are valid?
- I want do add a new provider driver what should I do?
- I want to add / propose a new API, what should I do?
- How do I obtain Libcloud version?
- Registering a third party driver
- SSL Certificate Validation in <v2.0
- Using an HTTP / HTTPS proxy
- 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
andNodeImage
id - Example 1 - listing records for a zone with a known id
- Example 2 - creating an EC2 instance with a known
NodeSize
andNodeImage
id - Example 3 - creating an EC2 instance with an IAM profile
- Using Libcloud in multi-threaded and async environments
Developer Information¶
- Developer Information
- Development
- Contributing
- Getting started with contributing to Libcloud
- General contribution guidelines
- Code style guide
- Git pre-commit hook
- Code conventions
- Docstring conventions
- Updating compute node sizing data
- Updating compute node pricing data
- Contribution workflow
- 1. Start a discussion on our Github repository or 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
- Contributing Bigger Changes
- Supporting Multiple Python Versions
Committer Guide¶
- Committer Guide
- New committer guidelines
- Merging user contributions
- Making a release (for release managers)
- 0. Update committed files
- 1. Pre-release check list
- 2. Update Github
- 3. Creating release artifacts
- 4. Tagging a release
- 5. Upload the release artifacts and start a [VOTE] thread
- 6. Uploading release artifacts to Apache servers
- 7. Publishing package to PyPi
- 8. Verifying the release artifact check sums
- 9. Updating doap_libcloud.rdf, __init__.py
- 10. Updating website
- 11. Sending announcements
- Mailing list email templates
Other¶
- Changelog
- Changes in Apache Libcloud 3.8.0
- Changes in Apache Libcloud 3.7.0
- Changes in Apache Libcloud 3.6.1
- Changes in Apache Libcloud 3.6.0
- Changes in Apache Libcloud 3.5.1
- Changes in Apache Libcloud 3.5.0
- Changes in Apache Libcloud 3.4.1
- Changes in Apache Libcloud 3.4.0
- Changes in Apache Libcloud 3.3.1
- Changes in Apache Libcloud 3.3.0
- Changes in Apache Libcloud 3.2.0
- Changes in Apache Libcloud 3.1.0
- Changes in Apache Libcloud 3.0.0
- Changes in Apache Libcloud v2.8.3
- Changes in Apache Libcloud v2.8.2
- Changes in Apache Libcloud v2.8.1
- Changes in Apache Libcloud v2.8.0
- Changes in Apache Libcloud v2.7.0
- Changes in Apache Libcloud 2.6.1
- Changes in Apache Libcloud 2.6.0
- Changes in Apache Libcloud 2.5.0
- Changes in Apache Libcloud 2.4.0
- Changes in Apache Libcloud 2.3.0
- Changes in Apache Libcloud 2.2.1
- Changes in Apache Libcloud 2.2.0
- Changes in Apache Libcloud 2.2.0
- Changes in Apache Libcloud 2.1.0
- Changes in Apache Libcloud 2.0.0
- Changes in Apache Libcloud 2.0.0rc2
- Changes Apache Libcloud 2.0.0rc1
- Changes in Apache Libcloud 1.5.0
- Changes in Apache Libcloud 1.4.0
- Changes in Apache Libcloud 1.3.0
- Changes in Apache Libcloud 1.2.1
- Changes in Apache Libcloud 1.2.0
- Changes with Apache Libcloud 1.1.0
- Changes with Apache Libcloud 1.0.0
- Changes with Apache Libcloud 1.0.0-rc2
- Changes with Apache Libcloud 1.0.0-pre1
- Changes with Apache Libcloud 0.20.1
- Changes with Apache Libcloud 0.20.0
- Changes with Apache Libcloud 0.19.0
- Changes with Apache Libcloud 0.18.0
- Changes with Apache Libcloud 0.17.0
- Changes with Apache Libcloud 0.16.0
- Changes with Apache Libcloud 0.15.1
- Changes with Apache Libcloud 0.15.0
- Changes with Apache Libcloud 0.14.1
- 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 3.7.0
- Libcloud 3.6.0
- Libcloud 3.5.0
- Libcloud 3.4.0
- Libcloud 3.3.0
- Libcloud 3.2.0
- Libcloud 3.0.0
- Libcloud 2.8.0
- Libcloud 2.7.0
- Libcloud 1.0.0
- Libcloud 0.20.0
- Libcloud 0.19.0
- Libcloud 0.16.0
- Libcloud 0.14.1
- 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
- Security
Note
Unless noted otherwise, all of the examples and code snippets in the documentation are licensed under the Apache 2.0 license.