X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/c219fe5500b4294ba8dc0bce57b5c7d60b39065e..cfedb9220fc5a849df6d5d85cc929d1f72ac0326:/lib/bind.dtl diff --git a/lib/bind.dtl b/lib/bind.dtl index 151c410..8515154 100644 --- a/lib/bind.dtl +++ b/lib/bind.dtl @@ -5,17 +5,22 @@ extern type dnsRecord; extern type srv_domain; {{Like domain, but may contain underscores}} -extern val dnsA : host -> ip -> dnsRecord; -extern val dnsAAAA : host -> ipv6 -> dnsRecord; +extern type bind_pattern; +{{Ways of describing in which cases a DNS mapping applies}} +extern val literal : host -> bind_pattern; +{{A rule applies only to this particular host.}} +extern val default : bind_pattern; +{{A rule applies directly to the domain for the current vhost block.}} +extern val wildcard : bind_pattern; +{{A rule applies to every host within the current domain.}} + +extern val dnsA : bind_pattern -> ip -> dnsRecord; +extern val dnsAAAA : bind_pattern -> ipv6 -> dnsRecord; extern val dnsAFSDB : domain -> dnsRecord; -extern val dnsCNAME : host -> domain -> dnsRecord; +extern val dnsCNAME : bind_pattern -> domain -> dnsRecord; extern val dnsMX : int -> domain -> dnsRecord; extern val dnsNS : domain -> dnsRecord; extern val dnsSRV : srv_domain -> int -> int -> int -> domain -> dnsRecord; -extern val dnsTXT : host -> no_newlines -> dnsRecord; - -extern val dnsDefaultA : ip -> dnsRecord; -extern val dnsDefaultAAAA : ipv6 -> dnsRecord; -extern val dnsDefaultTXT : no_newlines -> dnsRecord; +extern val dnsTXT : bind_pattern -> no_newlines -> dnsRecord; extern val dns : dnsRecord -> [Domain] {TTL : int};