Project

General

Profile

Draft 20 version of DNS API » History » Version 11

Brian Gupta, 05/09/2011 04:31 AM

1 1 Brian Gupta
h1. Draft 20 version of DNS API, with working notes
2
3 5 Brian Gupta
h2. Current API
4
5 4 Ohad Levy
|_.DNS |
6 1 Brian Gupta
|/dns|POST|Create a new DNS record|@{"fqdn":string(name/ip), "value":string(ip/reverse), "type":string(A/PTR)}@|
7
|/dns/value|DELETE|remove value(ip or reverse) DNS record||
8
9 2 Brian Gupta
h2. Record types
10 1 Brian Gupta
11 2 Brian Gupta
h3. Should be implemented in next version of DNS API
12 3 Brian Gupta
13 1 Brian Gupta
/dns/zone/A (supports multiple records)
14
/dns/zone/PTR (Does not support multiple records)
15
/dns/zone/CNAME (Bind 9 doesn't support roundrobin cnames, so we should at first limit CNAMEs to a single record)
16 10 Brian Gupta
/dns/zone/AAAA (ipv6 address, supports multiple records)
17
/dns/zone/TXT (is a single string field of "value" no "fqdn" required, supports multiple records)
18
/dns/zone/SPF (is a single string field of "value" no "fqdn" required, supports multiple records)
19 1 Brian Gupta
/dns/zone/MX (Needs an extra preference number field, supports multiple records)
20
21 2 Brian Gupta
h3. Deferred:
22 3 Brian Gupta
23 1 Brian Gupta
/dns/zone/SOA (Can not be dynamically deleted, and needs extra code to handle)
24
/dns/zone/NS (Needs manual serial number increment
25
/dns/zone/SRV (Needs more research.. It might be easy enough, but isn't a priority yet)
26
27 11 Brian Gupta
h2. Methods
28
29
GET
30
POST
31
DELETE
32
33 2 Brian Gupta
h2. Ohad notes
34 3 Brian Gupta
35 1 Brian Gupta
GET /dns -> list of dns zones managed by that proxy
36
GET /dns/zone -> list of all zone records
37
GET /dns/zone/record_type list of all dns records with a given type, for
38
example all CNAME would be /dns/1.2.3.4/CNAME
39
GET /dns/zone/record -> details of the specific record.
40
41
POST /dns/zone -> creates a new record
42
DELETE /dns/zone/record -> deletes a record
43
44 8 Brian Gupta
h2. Brian notes
45 3 Brian Gupta
46 1 Brian Gupta
Dynamic DNS RFC http://tools.ietf.org/html/rfc2136
47
Howto: http://caunter.ca/nsupdate.txt
48
49
SOA: https://lists.isc.org/pipermail/bind-users/2003-November/047015.html
50
MX: http://forums.devshed.com/dns-36/using-nsupdate-to-add-an-mx-record-326788.html
51
NS: http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1304925290721+28353475&threadId=702920
52 6 Brian Gupta
53 8 Brian Gupta
h2. Other APIs to investigate
54 6 Brian Gupta
55
http://dyn.com/developer
56 1 Brian Gupta
http://docs.amazonwebservices.com/Route53/latest/APIReference/
57
http://ns.zerigo.com/
58 8 Brian Gupta
59
h2. DNS backends
60
61
NSUPDATE/BIND
62
Amazon/Route53
63
Dynect/DynDNS
64
DNSMadeEasy
65
UltraDNS
66 9 Brian Gupta
ActiveDirectory/Microsoft DNS