Apache Libcloud is a standard Python library that abstracts away differences among multiple cloud provider APIs

One Interface To Rule Them All

Python library for interacting with many of the popular cloud service providers using a unified API.

Supports more than 50 providers such as

Compute Example - Create a node

from libcloud.compute.types import Provider

from libcloud.compute.providers import get_driver

cls = get_driver(Provider.RACKSPACE)

driver = cls('username', 'api key', region='iad')

sizes = driver.list_sizes()

images = driver.list_images()

size = [s for s in sizes if s.id == 'performance1-1'][0]

image = [i for i in images if 'Ubuntu 18.04' in i.name][0]

node = driver.create_node(name='libcloud', size=size, image=image)

print(node)

For information on what the code does, click or hover over the line.

For more compute examples, see documentation.

DNS Example - Create a DNS record

from libcloud.dns.types import Provider, RecordType

from libcloud.dns.providers import get_driver

cls = get_driver(Provider.ZERIGO)

driver = cls('email', 'api key')

zones = driver.list_zones()

zone = [zone for zone in zones if zone.domain == 'mydomain.com'][0]

record = zone.create_record(name='www', type=RecordType.A, data='127.0.0.1')

print(record)

For information on what the code does, click or hover over the line.

For more DNS examples, see documentation.