Differences between revisions 1 and 2
Revision 1 as of 2011-09-11 18:14:31
Size: 1594
Editor: 86
Comment:
Revision 2 as of 2011-09-11 19:55:55
Size: 1607
Editor: 86
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
 * '''Zone''' - represents a DNS zone. It can contain one or more hosts (records).  * '''Zone''' - represents a DNS zone. It can contain one or more records (records).
Line 9: Line 9:
 * '''Host''' - represents a DNS host / resource / record.  * '''Record''' - represents a DNS record / resource / host.
Line 12: Line 12:

I'm not totally sure about "Host", better generic name would probably be "Record". Opinions?
Line 20: Line 18:
 * ''list_hosts()'' - Return a list of hosts for the provided zone.  * ''list_records()'' - Return a list of records for the provided zone.
 * ''get_zone(zone_id)'' - Return Zone instance
 * ''get_record(zone_id, record_id)'' - Return Record instance
Line 22: Line 22:
 * ''create_host(name, type, data, extra=None)'' - Create a new host record.
 * ''update_host(host, name, type, data, extra)'' - Update an existing host record.
 * ''create_record(name, type, data, extra=None)'' - Create a new record record.
 * ''update_record(record, name, type, data, extra)'' - Update an existing record record.
Line 25: Line 25:
 * ''delete_host(host)'' - Delete a host record.  * ''delete_record(record)'' - Delete a record record.
Line 29: Line 29:
 * ''list_hosts()'' - List host records for this zone.  * ''list_records()'' - List record for this zone.
Line 32: Line 32:
=== Host === === Record ===
Line 34: Line 34:
 * ''update(name, type, data, extra)'' - Update host record.
 * ''delete()'' - Delete a host record.
 * ''update(name, type, data, extra)'' - Update record.
 * ''delete()'' - Delete a record.
Line 37: Line 37:
https://svn.apache.org/viewvc/libcloud/trunk/libcloud/dns/base.py?view=markup&pathrev=1169490 https://svn.apache.org/viewvc/libcloud/trunk/libcloud/dns/base.py?view=markup

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 records (records).

  • Record - represents a DNS record / resource / host.

  • RecordType - DNS record type (A, AAAA, MX, ....).

Base API

DNSDriver

  • list_zones() - Return a list of zones.

  • list_records() - Return a list of records for the provided zone.

  • get_zone(zone_id) - Return Zone instance

  • get_record(zone_id, record_id) - Return Record instance

  • create_zone(type='master', ttl=None, extra=None) - Create a new zone.

  • create_record(name, type, data, extra=None) - Create a new record record.

  • update_record(record, name, type, data, extra) - Update an existing record record.

  • delete_zone(zone) - Delete a zone.

  • delete_record(record) - Delete a record record.

Zone

  • list_records() - List record for this zone.

  • delete() - Delete a zone.

Record

  • update(name, type, data, extra) - Update record.

  • delete() - Delete a record.

https://svn.apache.org/viewvc/libcloud/trunk/libcloud/dns/base.py?view=markup

Documentation for existing DNS APIs

DNS API proposal (last edited 2011-09-11 19:55:55 by 86)