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
Documentation¶
Main¶
- Getting Started
- Supported Providers
- Third Party Drivers
- Compute
- Object Storage
- Load Balancer
- DNS
- 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
- Using an HTTP proxy
- 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
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
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
- 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¶
- Committer Guide
- New committer guidelines
- Applying a patch
- Making a release (for release managers)
- 1. Pre-release check list
- 2. Update JIRA
- 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 file
- 10. Updating website
- 11. Sending announcements
- Mailing list email templates
Other¶
- Changelog
- 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
- Development
- 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.