- 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
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
|