Pyton接口到Rackspace Cloud DNS
python-clouddns的Python项目详细描述
Homepage: | https://github.com/chmouel/python-clouddns |
---|---|
Credits: | Copyright 2011 Chmouel Boudjnah <chmouel@chmouel.com> |
Licence: | BSD |
用法
需要rackspace cloud用户名和api密钥,可以获取 来自https://mycloud.rackspace.com。
域和记录可以通过指定其名称或ID来找到。 为http连接启用调试输出,包括关键字 参数debuglevel=1。其他调试输出可通过 正在设置“python_clouddns_debug”环境变量。
列出所有域:
#!/usr/bin/env python import clouddns dns = clouddns.connection.Connection('username','apikey') for domain in dns.get_domains(): print domain.name
创建新域:
#!/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')
从绑定区域文件或字符串导入域:
#!/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)
更新域:
#!/usr/bin/env python import clouddns dns = clouddns.connection.Connection('username','apikey') domain = dns.get_domain(name='1234-example.com') domain.update(ttl=600)
删除域:
#!/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)
列出域的所有记录:
#!/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)
创建新记录:
#!/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')
更新记录:
#!/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)
删除记录:
#!/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)
备选地理终点
上面的示例使用美国的默认身份验证终结点。为英国 帐户,您必须覆盖身份验证URL:
#!/usr/bin/env python import clouddns dns = clouddns.connection.Connection('username','apikey', authurl=clouddb.consts.uk_authurl)
图形用户界面
这里有一个基于web的gui:https://github.com/rackerhacker/rackspace-clouddns-gui