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

One Interface To Rule Them All

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.