You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by Apache Wiki <wi...@apache.org> on 2011/09/11 20:14:31 UTC

[Libcloud Wiki] Update of "DNS API proposal" by TomazMuraus

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Libcloud Wiki" for change notification.

The "DNS API proposal" page has been changed by TomazMuraus:
http://wiki.apache.org/libcloud/DNS%20API%20proposal

New page:
== 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