Domtool Module Bind

DNS configuration for BIND


extern type dnsRecord
extern type srv_domain
extern type bind_pattern
extern val literal : host -> bind_pattern
extern val default : bind_pattern
extern val wildcard : bind_pattern
extern type srv_pattern
extern val srv_literal : srv_domain -> srv_pattern
extern val srv_default : srv_pattern
extern val srv_wildcard : srv_pattern
extern val dnsA : bind_pattern -> ip -> dnsRecord
extern val dnsAAAA : bind_pattern -> ipv6 -> dnsRecord
extern val dnsAFSDB : domain -> dnsRecord
extern val dnsCNAME : bind_pattern -> domain -> dnsRecord
extern val dnsMX : int -> domain -> dnsRecord
extern val dnsNS : domain -> dnsRecord
extern val dnsSRV : srv_pattern -> int -> int -> int -> domain -> dnsRecord
extern val dnsTXT : srv_pattern -> no_newlines -> dnsRecord
extern val dns : dnsRecord -> [Domain] {TTL : int}

extern type dnsRecord

extern type srv_domain

Like domain, but may contain underscores

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 type srv_pattern

Like bind_pattern, but for SRV and TXT records, where underscores are allowed in hostnames

extern val srv_literal : srv_domain -> srv_pattern

extern val srv_default : srv_pattern

extern val srv_wildcard : srv_pattern

extern val dnsA : bind_pattern -> ip -> dnsRecord

extern val dnsAAAA : bind_pattern -> ipv6 -> dnsRecord

extern val dnsAFSDB : domain -> dnsRecord

extern val dnsCNAME : bind_pattern -> domain -> dnsRecord

extern val dnsMX : int -> domain -> dnsRecord

extern val dnsNS : domain -> dnsRecord

extern val dnsSRV : srv_pattern -> int -> int -> int -> domain -> dnsRecord

extern val dnsTXT : srv_pattern -> no_newlines -> dnsRecord

extern val dns : dnsRecord -> [Domain] {TTL : int}