github.com/hexonet/dnscontrol@v0.2.8/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 %}