Hi all, I have finally started working on support for DNS as a service. My proposal is attached bellow. I have also created a wiki page for proposal so it's easier to iterate on it - http://wiki.apache.org/libcloud/DNS%20API%20proposal.
_____________________________________________ DNS API Proposal libcloud DNS API allows users to manage DNS as a service offered by different providers. Naming Zone - represents a DNS zone. It can contain one or more hosts (records). Host - represents a DNS host / resource / record. RecordType - DNS record type (A, AAAA, MX, ....). I'm not totally sure about "Host", better generic name would probably be "Record". Opinions? Base API DNSDriver list_zones() - Return a list of zones. list_hosts() - Return a list of hosts for the provided zone. create_zone(type='master', ttl=None, extra=None) - Create a new zone. create_host(name, type, data, extra=None) - Create a new host record. update_host(host, name, type, data, extra) - Update an existing host record. delete_zone(zone) - Delete a zone. delete_host(host) - Delete a host record. Zone list_hosts() - List host records for this zone. delete() - Delete a zone. Host update(name, type, data, extra) - Update host record. delete() - Delete a host record. https://svn.apache.org/viewvc/libcloud/trunk/libcloud/dns/base.py?view=markup&pathrev=1169490 Documentation for existing DNS APIs Linode DNS - http://www.linode.com/api/dns Amazon Route 53 - http://docs.amazonwebservices.com/Route53/2011-05-05/APIReference/ Zerigo DNS - http://www.zerigo.com/docs/apis/dns/1.1 Rackspace Cloud DNS - http://docs.rackspace.com/cdns/api/v1.0/cdns-devguide/content/index.html
