Python interface to Rackspace Cloud DNS
Project description
- Homepage:
- Credits:
Copyright 2011 Chmouel Boudjnah <chmouel@chmouel.com>
- Licence:
BSD
Usage
A Rackspace Cloud username and API key are required and can be obtained from https://mycloud.rackspace.com.
Domains and records can be found by specifying their name or id. To enable debugging output for the HTTP connection, include the keyword argument debuglevel=1. Additional debugging output is available by setting the ‘PYTHON_CLOUDDNS_DEBUG’ environment variable.
List all domains:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey')
for domain in dns.get_domains():
print domain.name
Create a new domain:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey')
dns.create_domain(name='1234-example.com', ttl=300,
emailAddress='me@you.com')
Import a domain from a BIND zone file or string:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey')
with open('/tmp/example.com.zone', 'r') as f:
dns.import_domain(f)
Update a domain:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey')
domain = dns.get_domain(name='1234-example.com')
domain.update(ttl=600)
Delete a domain:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey')
domain = dns.get_domain(name='1234-example.com')
dns.delete_domain(domain.id)
List all records for a domain:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey')
domain = dns.get_domain(name='1234-example.com')
for record in domain.get_records():
print '(%s) %s -> %s' % (record.type, record.name, record.data)
Create new record:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey')
domain = dns.get_domain(name='1234-example.com')
domain.create_record('www.1234-example.com', '127.0.0.1', 'A')
Update a record:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey')
domain = dns.get_domain(name='1234-example.com')
record = domain.get_record(name='www.1234-example.com')
record.update(data='10.1.1.1', ttl=600)
Delete a record:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey')
domain = dns.get_domain(name='1234-example.com')
record = domain.get_record(name='www.1234-example.com')
domain.delete_record(record.id)
Alternative Geographic Endpoints
The examples above use the default authentication endpoint in the US. For UK accounts, you must override the authentication URL:
#!/usr/bin/env python
import clouddns
dns = clouddns.connection.Connection('username','apikey',
authurl=clouddb.consts.uk_authurl)
GUI
A web based GUI is available here: https://github.com/rackerhacker/rackspace-clouddns-gui
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file python-clouddns-0.0.0.tar.gz.
File metadata
- Download URL: python-clouddns-0.0.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2912044c07e922ffb45e1f9753c9d1dc34afca4776fefacfe6e17e0021ec955
|
|
| MD5 |
241c169dba36cb45daad80cc391f235c
|
|
| BLAKE2b-256 |
0418cf4ceb6c7a33bd1a178c33844fe16539c4a3173952bdab702491243c8881
|