github.com/philhug/dnscontrol@v0.2.4-0.20180625181521-921fa9849001/docs/_functions/global/D.md (about) 1 --- 2 name: D 3 parameters: 4 - name 5 - registrar 6 - modifiers... 7 --- 8 9 `D` adds a new Domain for DNSControl to manage. The first two arguments are required: the domain name (fully qualified `example.com` without a trailing dot), and the 10 name of the registrar (as previously declared with [NewRegistrar](#NewRegistrar)). Any number of additional arguments may be included to add DNS Providers with [DNSProvider](#DNSProvider), 11 add records with [A](#A), [CNAME](#CNAME), and so forth, or add metadata. 12 13 Modifier arguments are processed according to type as follows: 14 15 - A function argument will be called with the domain object as it's only argument. Most of the [built-in modifier functions](#domain-modifiers) return such functions. 16 - An object argument will be merged into the domain's metadata collection. 17 - An array arument will have all of it's members evaluated recursively. This allows you to combine multiple common records or modifiers into a variable that can 18 be used like a macro in multiple domains. 19 20 {% include startExample.html %} 21 {% highlight js %} 22 var REGISTRAR = NewRegistrar("name.com", "NAMEDOTCOM"); 23 var r53 = NewDnsProvider("R53","ROUTE53"); 24 25 // simple domain 26 D("example.com", REGISTRAR, DnsProvider(r53), 27 A("@","1.2.3.4"), 28 CNAME("test", "foo.example2.com.") 29 ); 30 31 // "macro" for records that can be mixed into any zone 32 var GOOGLE_APPS_DOMAIN_MX = [ 33 MX('@', 1, 'aspmx.l.google.com.'), 34 MX('@', 5, 'alt1.aspmx.l.google.com.'), 35 MX('@', 5, 'alt2.aspmx.l.google.com.'), 36 MX('@', 10, 'alt3.aspmx.l.google.com.'), 37 MX('@', 10, 'alt4.aspmx.l.google.com.'), 38 ] 39 40 D("example.com", REGISTRAR, DnsProvider(r53), 41 A("@","1.2.3.4"), 42 CNAME("test", "foo.example2.com."), 43 GOOGLE_APPS_DOMAIN_MX 44 ); 45 46 {%endhighlight%} 47 {% include endExample.html %}