Project

General

Profile

Actions

Draft 20 version of DNS API » History » Revision 10

« Previous | Revision 10/20 (diff) | Next »
Brian Gupta, 05/09/2011 04:26 AM
Updated SPF/TXT to clarify that they are string fields, and don't need an fqdn.


Draft 20 version of DNS API, with working notes

Current API

DNS
/dns POST Create a new DNS record {"fqdn":string(name/ip), "value":string(ip/reverse), "type":string(A/PTR)}
/dns/value DELETE remove value(ip or reverse) DNS record

Record types

Should be implemented in next version of DNS API

/dns/zone/A (supports multiple records)
/dns/zone/PTR (Does not support multiple records)
/dns/zone/CNAME (Bind 9 doesn't support roundrobin cnames, so we should at first limit CNAMEs to a single record)
/dns/zone/AAAA (ipv6 address, supports multiple records)
/dns/zone/TXT (is a single string field of "value" no "fqdn" required, supports multiple records)
/dns/zone/SPF (is a single string field of "value" no "fqdn" required, supports multiple records)
/dns/zone/MX (Needs an extra preference number field, supports multiple records)

Deferred:

/dns/zone/SOA (Can not be dynamically deleted, and needs extra code to handle)
/dns/zone/NS (Needs manual serial number increment
/dns/zone/SRV (Needs more research.. It might be easy enough, but isn't a priority yet)

Ohad notes

GET /dns -> list of dns zones managed by that proxy
GET /dns/zone -> list of all zone records
GET /dns/zone/record_type list of all dns records with a given type, for
example all CNAME would be /dns/1.2.3.4/CNAME
GET /dns/zone/record -> details of the specific record.

POST /dns/zone -> creates a new record
DELETE /dns/zone/record -> deletes a record

Brian notes

Dynamic DNS RFC http://tools.ietf.org/html/rfc2136
Howto: http://caunter.ca/nsupdate.txt

SOA: https://lists.isc.org/pipermail/bind-users/2003-November/047015.html
MX: http://forums.devshed.com/dns-36/using-nsupdate-to-add-an-mx-record-326788.html
NS: http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1304925290721+28353475&threadId=702920

Other APIs to investigate

http://dyn.com/developer
http://docs.amazonwebservices.com/Route53/latest/APIReference/
http://ns.zerigo.com/

DNS backends

NSUPDATE/BIND
Amazon/Route53
Dynect/DynDNS
DNSMadeEasy
UltraDNS
ActiveDirectory/Microsoft DNS

Updated by Brian Gupta over 13 years ago · 20 revisions