DOCS: Code examples with END constant (#2950)

This commit is contained in:
Jeffrey Cafferata 2024-05-13 14:47:23 +02:00 committed by GitHub
parent e6885cfb00
commit 1205ef6343
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
105 changed files with 454 additions and 465 deletions

View file

@ -49,9 +49,9 @@ type Duration =
* > 2. Make sure DNSControl only uses verified configuration if you want to use `FETCH`. For example, an attacker can send Pull Requests to your config repo, and have your CI test malicious configurations and make arbitrary HTTP requests. Therefore, `FETCH` must be explicitly enabled with flag `--allow-fetch` on DNSControl invocation.
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER), [
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* A("@", "1.2.3.4"),
* ]);
* END);
*
* FETCH("https://example.com", {
* // All three options below are optional
@ -189,8 +189,8 @@ declare const DISABLE_REPEATED_DOMAIN_CHECK: RecordModifier;
* A("@", "1.2.3.4"),
* A("foo", "2.3.4.5"),
* A("test.foo", IP("1.2.3.4"), TTL(5000)),
* A("*", "1.2.3.4", {foo: 42})
* );
* A("*", "1.2.3.4", {foo: 42}),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/a
@ -211,8 +211,8 @@ declare function A(name: string, address: string | number, ...modifiers: RecordM
* AAAA("@", addrV6),
* AAAA("foo", addrV6),
* AAAA("test.foo", addrV6, TTL(5000)),
* AAAA("*", addrV6, {foo: 42})
* );
* AAAA("*", addrV6, {foo: 42}),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/aaaa
@ -239,7 +239,7 @@ declare function AKAMAICDN(name: string, target: string, ...modifiers: RecordMod
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* ALIAS("@", "google.com."), // example.com -> google.com
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/alias
@ -275,13 +275,13 @@ declare const AUTODNSSEC_OFF: DomainModifier;
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* AUTODNSSEC_ON, // Enable AutoDNSSEC.
* A("@", "10.1.1.1")
* );
* A("@", "10.1.1.1"),
* END);
*
* D("insecure.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* AUTODNSSEC_OFF, // Disable AutoDNSSEC.
* A("@", "10.2.2.2")
* );
* A("@", "10.2.2.2"),
* END);
* ```
*
* If neither `AUTODNSSEC_ON` or `AUTODNSSEC_OFF` is specified for a
@ -331,7 +331,7 @@ declare const AUTODNSSEC_ON: DomainModifier;
* D("example.com", REG_MY_PROVIDER, DnsProvider("AZURE_DNS"),
* AZURE_ALIAS("foo", "A", "/subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/trafficManagerProfiles/testpp2"), // record for traffic manager
* AZURE_ALIAS("foo", "CNAME", "/subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/dnszones/example.com/A/quux."), // record in the same zone
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/service-provider-specific/azure-dns/azure_alias
@ -359,8 +359,8 @@ declare function AZURE_ALIAS(name: string, type: "A" | "AAAA" | "CNAME", target:
* CAA("@", "issuewild", ";"),
* // Report all violation to test@example.com. If CA does not support
* // this record then refuse to issue any certificate
* CAA("@", "iodef", "mailto:test@example.com", CAA_CRITICAL)
* );
* CAA("@", "iodef", "mailto:test@example.com", CAA_CRITICAL),
* END);
* ```
*
* DNSControl contains a [`CAA_BUILDER`](CAA_BUILDER.md) which can be used to simply create `CAA()` records for your domains. Instead of creating each CAA record individually, you can simply configure your report mail address, the authorized certificate authorities and the builder cares about the rest.
@ -485,7 +485,7 @@ declare function CAA_BUILDER(opts: { label?: string; iodef: string; iodef_critic
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* CF_REDIRECT("example.com/*", "https://www.example.com/$1"),
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/service-provider-specific/cloudflare-dns/cf_redirect
@ -509,7 +509,7 @@ declare function CF_REDIRECT(source: string, destination: string, ...modifiers:
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* CF_TEMP_REDIRECT("example.example.com/*", "https://otherplace.yourdomain.com/$1"),
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/service-provider-specific/cloudflare-dns/cf_temp_redirect
@ -535,7 +535,7 @@ declare function CF_TEMP_REDIRECT(source: string, destination: string, ...modifi
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* CF_WORKER_ROUTE("api.example.com/*", "my-worker"),
* CF_WORKER_ROUTE("example.com/api/*", "my-worker"),
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/service-provider-specific/cloudflare-dns/cf_worker_route
@ -560,7 +560,7 @@ declare function CLOUDNS_WR(name: string, target: string, ...modifiers: RecordMo
* CNAME("foo", "google.com."), // foo.example.com -> google.com
* CNAME("abc", "@"), // abc.example.com -> example.com
* CNAME("def", "test"), // def.example.com -> test.example.com
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/cname
@ -583,8 +583,8 @@ declare function CNAME(name: string, target: string, ...modifiers: RecordModifie
* // simple domain
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* A("@","1.2.3.4"),
* CNAME("test", "foo.example2.com.")
* );
* CNAME("test", "foo.example2.com."),
* END);
*
* // "macro" for records that can be mixed into any zone
* var GOOGLE_APPS_DOMAIN_MX = [
@ -598,8 +598,8 @@ declare function CNAME(name: string, target: string, ...modifiers: RecordModifie
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* A("@","1.2.3.4"),
* CNAME("test", "foo.example2.com."),
* GOOGLE_APPS_DOMAIN_MX
* );
* GOOGLE_APPS_DOMAIN_MX,
* END);
* ```
*
* # Split Horizon DNS
@ -618,16 +618,16 @@ declare function CNAME(name: string, target: string, ...modifiers: RecordModifie
* var DNS_OUTSIDE = NewDnsProvider("bind");
*
* D("example.com!inside", REG_THIRDPARTY, DnsProvider(DNS_INSIDE),
* A("www", "10.10.10.10")
* );
* A("www", "10.10.10.10"),
* END);
*
* D("example.com!outside", REG_THIRDPARTY, DnsProvider(DNS_OUTSIDE),
* A("www", "20.20.20.20")
* );
* A("www", "20.20.20.20"),
* END);
*
* D_EXTEND("example.com!inside",
* A("internal", "10.99.99.99")
* );
* A("internal", "10.99.99.99"),
* END);
* ```
*
* A domain name without a `!` is assigned a tag that is the empty
@ -667,12 +667,12 @@ declare function D(name: string, registrar: string, ...modifiers: DomainModifier
* var COMMON = NewDnsProvider("foo");
* DEFAULTS(
* DnsProvider(COMMON, 0),
* DefaultTTL("1d")
* );
* DefaultTTL("1d"),
* END);
*
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* A("@","1.2.3.4")
* );
* A("@","1.2.3.4"),
* END);
* ```
*
* If you want to clear the defaults, you can do the following.
@ -682,8 +682,8 @@ declare function D(name: string, registrar: string, ...modifiers: DomainModifier
* DEFAULTS();
*
* D("example2.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* A("@","1.2.3.4")
* );
* A("@","1.2.3.4"),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/top-level-functions/defaults
@ -697,8 +697,8 @@ declare function DEFAULTS(...modifiers: DomainModifier[]): void;
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* DHCID("example.com", "ABCDEFG")
* );
* DHCID("example.com", "ABCDEFG"),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/dhcid
@ -827,8 +827,8 @@ declare function DMARC_BUILDER(opts: { label?: string; version?: string; policy:
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* DNAME("sub", "example.net.")
* );
* DNAME("sub", "example.net."),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/dname
@ -848,8 +848,8 @@ declare function DNAME(name: string, target: string, ...modifiers: RecordModifie
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* DNSKEY("@", 257, 3, 13, "AABBCCDD")
* );
* DNSKEY("@", 257, 3, 13, "AABBCCDD"),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/dnskey
@ -878,8 +878,8 @@ declare function DNSKEY(name: string, flags: number, protocol: number, algorithm
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* NO_PURGE,
* NAMESERVER("ns1.foo.com"),
* NAMESERVER("ns2.foo.com")
* );
* NAMESERVER("ns2.foo.com"),
* END);
* ```
*
* NOTE: The [`NO_PURGE`](../domain-modifiers/NO_PURGE.md) is used out of abundance of caution but since no
@ -913,8 +913,8 @@ declare function DOMAIN_ELSEWHERE(name: string, registrar: string, nameserver_na
* ```javascript
* D("example.com", REG_NAMEDOTCOM,
* NO_PURGE,
* DnsProvider(DSP_AZURE)
* );
* DnsProvider(DSP_AZURE),
* END);
* ```
*
* NOTE: The [`NO_PURGE`](../domain-modifiers/NO_PURGE.md) is used to prevent DNSControl from changing the records.
@ -936,8 +936,8 @@ declare function DOMAIN_ELSEWHERE_AUTO(name: string, domain: string, registrar:
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* DS("example.com", 2371, 13, 2, "ABCDEF")
* );
* DS("example.com", 2371, 13, 2, "ABCDEF"),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/ds
@ -973,25 +973,25 @@ declare function DS(name: string, keytag: number, algorithm: number, digesttype:
* D("domain.tld", REG_MY_PROVIDER, DnsProvider(DNS),
* A("@", "127.0.0.1"), // domain.tld
* A("www", "127.0.0.2"), // www.domain.tld
* CNAME("a", "b") // a.domain.tld -> b.domain.tld
* );
* CNAME("a", "b"), // a.domain.tld -> b.domain.tld
* END);
* D_EXTEND("domain.tld",
* A("aaa", "127.0.0.3"), // aaa.domain.tld
* CNAME("c", "d") // c.domain.tld -> d.domain.tld
* );
* CNAME("c", "d"), // c.domain.tld -> d.domain.tld
* END);
* D_EXTEND("sub.domain.tld",
* A("bbb", "127.0.0.4"), // bbb.sub.domain.tld
* A("ccc", "127.0.0.5"), // ccc.sub.domain.tld
* CNAME("e", "f") // e.sub.domain.tld -> f.sub.domain.tld
* );
* CNAME("e", "f"), // e.sub.domain.tld -> f.sub.domain.tld
* END);
* D_EXTEND("sub.sub.domain.tld",
* A("ddd", "127.0.0.6"), // ddd.sub.sub.domain.tld
* CNAME("g", "h") // g.sub.sub.domain.tld -> h.sub.sub.domain.tld
* );
* CNAME("g", "h"), // g.sub.sub.domain.tld -> h.sub.sub.domain.tld
* END);
* D_EXTEND("sub.domain.tld",
* A("@", "127.0.0.7"), // sub.domain.tld
* CNAME("i", "j") // i.sub.domain.tld -> j.sub.domain.tld
* );
* CNAME("i", "j"), // i.sub.domain.tld -> j.sub.domain.tld
* END);
* ```
*
* This will end up in the following modifications: (This output assumes the `--full` flag)
@ -1037,8 +1037,8 @@ declare function D_EXTEND(name: string, ...modifiers: DomainModifier[]): void;
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* DefaultTTL("4h"),
* A("@","1.2.3.4"), // uses default
* A("foo", "2.3.4.5", TTL(600)) // overrides default
* );
* A("foo", "2.3.4.5", TTL(600)), // overrides default
* END);
* ```
*
* The DefaultTTL duration is the same format as [`TTL`](../record-modifiers/TTL.md), an integer number of seconds
@ -1091,8 +1091,8 @@ declare function FRAME(name: string, target: string, ...modifiers: RecordModifie
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* HTTPS("@", 1, ".", "ipv4hint=123.123.123.123 alpn=h3,h2 port=443"),
* HTTPS("@", 1, "test.com", "")
* );
* HTTPS("@", 1, "test.com", ""),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/https
@ -1384,13 +1384,13 @@ declare function IGNORE_TARGET(pattern: string, rType: string): DomainModifier;
*
* ```javascript
* D("example.com!external", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* A("test", "8.8.8.8")
* );
* A("test", "8.8.8.8"),
* END);
*
* D("example.com!internal", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* INCLUDE("example.com!external"),
* A("home", "127.0.0.1")
* );
* A("home", "127.0.0.1"),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/include
@ -1496,17 +1496,16 @@ declare function IP(ip: string): number;
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* // LOC "subdomain", d1, m1, s1, "[NnSs]", d2, m2, s2, "[EeWw]", alt, siz, hp, vp)
* //42 21 54 N 71 06 18 W -24m 30m
* , LOC("@", 42, 21, 54, "N", 71, 6, 18, "W", -24, 30, 0, 0)
* LOC("@", 42, 21, 54, "N", 71, 6, 18, "W", -24, 30, 0, 0),
* //42 21 43.952 N 71 5 6.344 W -24m 1m 200m 10m
* , LOC("a", 42, 21, 43.952, "N", 71, 5, 6.344, "W", -24, 1, 200, 10)
* LOC("a", 42, 21, 43.952, "N", 71, 5, 6.344, "W", -24, 1, 200, 10),
* //52 14 05 N 00 08 50 E 10m
* , LOC("b", 52, 14, 5, "N", 0, 8, 50, "E", 10, 0, 0, 0)
* LOC("b", 52, 14, 5, "N", 0, 8, 50, "E", 10, 0, 0, 0),
* //32 7 19 S 116 2 25 E 10m
* , LOC("c", 32, 7, 19, "S",116, 2, 25, "E", 10, 0, 0, 0)
* LOC("c", 32, 7, 19, "S",116, 2, 25, "E", 10, 0, 0, 0),
* //42 21 28.764 N 71 00 51.617 W -44m 2000m
* , LOC("d", 42, 21, 28.764, "N", 71, 0, 51.617, "W", -44, 2000, 0, 0)
* );
*
* LOC("d", 42, 21, 28.764, "N", 71, 0, 51.617, "W", -44, 2000, 0, 0),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/loc
@ -1538,27 +1537,26 @@ declare function LOC(deg1: number, min1: number, sec1: number, deg2: number, min
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* LOC_BUILDER_DD({
* LOC_BUILDER_DD({
* label: "big-ben",
* x: 51.50084265331501,
* y: -0.12462541415599787,
* alt: 6,
* })
* , LOC_BUILDER_DD({
* }),
* LOC_BUILDER_DD({
* label: "white-house",
* x: 38.89775977858357,
* y: -77.03655125982903,
* alt: 19,
* })
* , LOC_BUILDER_DD({
* }),
* LOC_BUILDER_DD({
* label: "white-house-ttl",
* x: 38.89775977858357,
* y: -77.03655125982903,
* alt: 19,
* ttl: "5m",
* })
* );
*
* }),
* END);
* ```
*
* Part of the series:
@ -1598,9 +1596,8 @@ declare function LOC_BUILDER_DD(opts: { label?: string; x: number; y: number; al
* label: "tasmania",
* str: "42°S 147°E",
* alt: 3,
* })
* );
*
* }),
* END);
* ```
*
* Part of the series:
@ -1641,9 +1638,8 @@ declare function LOC_BUILDER_DMM_STR(opts: { label?: string; str: string; alt?:
* str: "33°5131″S 151°1251″E",
* alt: 4,
* ttl: "5m",
* })
* );
*
* }),
* END);
* ```
*
* Part of the series:
@ -1675,23 +1671,22 @@ declare function LOC_BUILDER_DMS_STR(opts: { label?: string; str: string; alt?:
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* , LOC_BUILDER_STR({
* LOC_BUILDER_STR({
* label: "old-faithful",
* str: "44.46046°N 110.82815°W",
* alt: 2240,
* })
* , LOC_BUILDER_STR({
* }),
* LOC_BUILDER_STR({
* label: "ribblehead-viaduct",
* str: "54.210436°N 2.370231°W",
* alt: 300,
* })
* , LOC_BUILDER_STR({
* }),
* LOC_BUILDER_STR({
* label: "guinness-brewery",
* str: "53°2040″N 6°1720″W",
* alt: 300,
* })
* );
*
* }),
* END);
* ```
*
* Part of the series:
@ -1764,8 +1759,8 @@ declare function M365_BUILDER(opts: { label?: string; mx?: boolean; autodiscover
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* MX("@", 5, "mail"), // mx example.com -> mail.example.com
* MX("sub", 10, "mail.foo.com.")
* );
* MX("sub", 10, "mail.foo.com."),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/mx
@ -1791,13 +1786,13 @@ declare function MX(name: string, priority: number, target: string, ...modifiers
* // Replace the nameservers:
* NAMESERVER("ns1.myserver.com."),
* NAMESERVER("ns2.myserver.com."),
* );
* END);
*
* D("example2.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* // Add these two additional nameservers to the existing list of nameservers.
* NAMESERVER("ns1.myserver.com."),
* NAMESERVER("ns2.myserver.com."),
* );
* END);
* ```
*
* # The difference between NS() and NAMESERVER()
@ -1846,7 +1841,7 @@ declare function MX(name: string, priority: number, target: string, ...modifiers
* var REG_THIRDPARTY = NewRegistrar("ThirdParty");
* D("example.com", REG_THIRDPARTY,
* ...
* )
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/nameserver
@ -1861,8 +1856,8 @@ declare function NAMESERVER(name: string, ...modifiers: RecordModifier[]): Domai
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* NAMESERVER_TTL("2d"),
* NAMESERVER("ns")
* );
* NAMESERVER("ns"),
* END);
* ```
*
* Use `NAMESERVER_TTL("3600"),` or `NAMESERVER_TTL("1h"),` for a 1h default TTL for all subsequent `NS` entries:
@ -1874,8 +1869,8 @@ declare function NAMESERVER(name: string, ...modifiers: RecordModifier[]): Domai
* NAMESERVER("ns1.provider.com."), //inherits NAMESERVER_TTL
* NAMESERVER("ns2.provider.com."), //inherits NAMESERVER_TTL
* A("@","1.2.3.4"), // inherits DefaultTTL
* A("foo", "2.3.4.5", TTL(600)) // overrides DefaultTTL for this record only
* );
* A("foo", "2.3.4.5", TTL(600)), // overrides DefaultTTL for this record only
* END);
* ```
*
* To apply a default TTL to all other record types, see [`DefaultTTL`](../domain-modifiers/DefaultTTL.md)
@ -2026,8 +2021,8 @@ declare function NAMESERVER_TTL(ttl: Duration): DomainModifier;
* NAPTR("7", 10, 10, "u", "E2U+SIP", "!^.*$!sip:jane@example.com!", "."),
* NAPTR("8", 10, 10, "u", "E2U+SIP", "!^.*$!sip:mike@example.com!", "."),
* NAPTR("9", 10, 10, "u", "E2U+SIP", "!^.*$!sip:linda@example.com!", "."),
* NAPTR("0", 10, 10, "u", "E2U+SIP", "!^.*$!sip:fax@example.com!", ".")
* );
* NAPTR("0", 10, 10, "u", "E2U+SIP", "!^.*$!sip:fax@example.com!", "."),
* END);
* ```
*
* Single e164 zone
@ -2035,8 +2030,8 @@ declare function NAMESERVER_TTL(ttl: Duration): DomainModifier;
* D("4.3.2.1.5.5.5.0.0.8.1.e164.arpa.", REG_MY_PROVIDER, DnsProvider(R53),
* NAPTR("@", 100, 50, "u", "E2U+SIP", "!^.*$!sip:customer-service@example.com!", "."),
* NAPTR("@", 101, 50, "u", "E2U+email", "!^.*$!mailto:information@example.com!", "."),
* NAPTR("@", 101, 50, "u", "smtp+E2U", "!^.*$!mailto:information@example.com!", ".")
* );
* NAPTR("@", 101, 50, "u", "smtp+E2U", "!^.*$!mailto:information@example.com!", "."),
* END);
* ```
*
* ### Examples for SIP:
@ -2054,7 +2049,7 @@ declare function NAMESERVER_TTL(ttl: Duration): DomainModifier;
* A("sip", "192.0.2.2"),
* AAAA("sip", "2001:db8::85a3"),
* // and so on
* );
* END);
* ```
*
* ### Other RFC based examples:
@ -2069,7 +2064,7 @@ declare function NAMESERVER_TTL(ttl: Duration): DomainModifier;
* SRV("_z3950._tcp", 0, 0, 1000, "z3950.beast.example.com."),
* SRV("_http._tcp", 10, 0, 80, "foo.example.com."),
* // and so on
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/naptr
@ -2102,8 +2097,8 @@ declare function NAPTR(subdomain: string, order: number, preference: number, ter
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER), NO_PURGE,
* A("foo","1.2.3.4")
* );
* A("foo","1.2.3.4"),
* END);
* ```
*
* The main caveat of `NO_PURGE` is that intentionally deleting records becomes
@ -2144,7 +2139,7 @@ declare const NO_PURGE: DomainModifier;
* NS("foo", "ns2.example2.com."), // Delegate ".foo.example.com" zone to another server.
* A("ns1.example2.com", "10.10.10.10"), // Glue records
* A("ns2.example2.com", "10.10.10.20"), // Glue records
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/ns
@ -2178,8 +2173,8 @@ declare function NS1_URLFWD(name: string, target: string, ...modifiers: RecordMo
* var DNS_MYAWS = NewDnsProvider("myaws", "ROUTE53");
*
* D("example.com", REG_MYNDC, DnsProvider(DNS_MYAWS),
* A("@","1.2.3.4")
* );
* A("@","1.2.3.4"),
* END);
* ```
*
* In [v3.16](../../v316.md) and later:
@ -2189,8 +2184,8 @@ declare function NS1_URLFWD(name: string, target: string, ...modifiers: RecordMo
* var DNS_MYAWS = NewDnsProvider("myaws");
*
* D("example.com", REG_MYNDC, DnsProvider(DNS_MYAWS),
* A("@","1.2.3.4")
* );
* A("@","1.2.3.4"),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/top-level-functions/newdnsprovider
@ -2217,8 +2212,8 @@ declare function NewDnsProvider(name: string, type?: string, meta?: object): str
* var DNS_MYAWS = NewDnsProvider("myaws", "ROUTE53");
*
* D("example.com", REG_MYNDC, DnsProvider(DNS_MYAWS),
* A("@","1.2.3.4")
* );
* A("@","1.2.3.4"),
* END);
* ```
*
* In [v3.16](../../v316.md) and later:
@ -2228,8 +2223,8 @@ declare function NewDnsProvider(name: string, type?: string, meta?: object): str
* var DNS_MYAWS = NewDnsProvider("myaws");
*
* D("example.com", REG_MYNDC, DnsProvider(DNS_MYAWS),
* A("@","1.2.3.4")
* );
* A("@","1.2.3.4"),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/top-level-functions/newregistrar
@ -2305,13 +2300,13 @@ declare function PANIC(message: string): never;
* PTR("3", "baz.example.com."),
* // If the first parameter is a valid IP address, DNSControl will generate the correct name:
* PTR("1.2.3.10", "ten.example.com."), // "10"
* );
* END);
* ```
*
* ```javascript
* D(REV("9.9.9.128/25"), REGISTRAR, DnsProvider(BIND),
* PTR("9.9.9.129", "first.example.com."),
* );
* END);
* ```
*
* ```javascript
@ -2320,7 +2315,7 @@ declare function PANIC(message: string): never;
* // If the first parameter is a valid IP address, DNSControl will generate the correct name:
* PTR("2001:db8:302::2", "two.example.com."), // "2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
* PTR("2001:db8:302::3", "three.example.com."), // "3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
* );
* END);
* ```
*
* # Automatic forward and reverse lookups
@ -2342,10 +2337,10 @@ declare function PANIC(message: string): never;
*
* D("example.com", REGISTRAR, DnsProvider(DSP_NONE),
* ...,
* END);
* END);
* D(REV("10.20.30.0/24"), REGISTRAR, DnsProvider(DSP_NONE),
* ...,
* END);
* END);
*
* FORWARD_AND_REVERSE("10.20.30.77", "foo.example.com.");
* FORWARD_AND_REVERSE("10.20.30.99", "bar.example.com.");
@ -2376,7 +2371,7 @@ declare function PTR(name: string, target: string, ...modifiers: RecordModifier[
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* PURGE,
* );
* END);
* ```
*
* Since the "last command wins", this is the same as `PURGE`:
@ -2388,7 +2383,7 @@ declare function PTR(name: string, target: string, ...modifiers: RecordModifier[
* PURGE,
* NO_PURGE,
* PURGE,
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/purge
@ -2431,7 +2426,7 @@ declare const PURGE: DomainModifier;
* R53_ALIAS("foo", "A", "blahblah.elasticloadbalancing.us-west-1.amazonaws.com.", R53_ZONE("Z368ELLRRE2KJ0"), R53_EVALUATE_TARGET_HEALTH(true)), // a classic ELB in us-west-1 with target health evaluation enabled
* R53_ALIAS("foo", "A", "blahblah.elasticbeanstalk.us-west-2.amazonaws.com.", R53_ZONE("Z38NKT9BP95V3O")), // an Elastic Beanstalk environment in us-west-2
* R53_ALIAS("foo", "A", "blahblah-bucket.s3-website-us-west-1.amazonaws.com.", R53_ZONE("Z2F56UZL2M1ACD")), // a website S3 Bucket in us-west-1
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/service-provider-specific/amazon-route-53/r53_alias
@ -2507,14 +2502,14 @@ declare function R53_ZONE(zone_id: string): DomainModifier & RecordModifier;
* PTR("3", "baz.example.com."),
* // If the first parameter is an IP address, DNSControl automatically calls REV() for you.
* PTR("1.2.3.10", "ten.example.com."),
* );
* END);
*
* D(REV("2001:db8:302::/48"), REGISTRAR, DnsProvider(BIND),
* PTR("1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0", "foo.example.com."), // 2001:db8:302::1
* // If the first parameter is an IP address, DNSControl automatically calls REV() for you.
* PTR("2001:db8:302::2", "two.example.com."), // 2.0.0...
* PTR("2001:db8:302::3", "three.example.com."), // 3.0.0...
* );
* END);
* ```
*
* # Automatic forward and reverse record generation
@ -2575,7 +2570,7 @@ declare function REVCOMPAT(rfc: string): string;
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* SOA("@", "ns3.example.com.", "hostmaster@example.com", 3600, 600, 604800, 1440),
* );
* END);
* ```
*
* If you accidentally include an `@` in the email field DNSControl will quietly
@ -2609,8 +2604,8 @@ declare function SOA(name: string, ns: string, mbox: string, refresh: number, re
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* TXT("v=spf1 ip4:198.252.206.0/24 ip4:192.111.0.0/24 include:_spf.google.com include:mailgun.org include:spf-basic.fogcreek.com include:mail.zendesk.com include:servers.mcsv.net include:sendgrid.net include:450622.spf05.hubspotemail.net ~all")
* )
* TXT("v=spf1 ip4:198.252.206.0/24 ip4:192.111.0.0/24 include:_spf.google.com include:mailgun.org include:spf-basic.fogcreek.com include:mail.zendesk.com include:servers.mcsv.net include:sendgrid.net include:450622.spf05.hubspotemail.net ~all"),
* END)
* ```
*
* This has a few problems:
@ -2648,7 +2643,7 @@ declare function SOA(name: string, ns: string, mbox: string, refresh: number, re
* "450622.spf05.hubspotemail.net" // Rationale: Unlikely to change without warning.
* ]
* }),
* );
* END);
* ```
*
* By using the `SPF_BUILDER()` we gain many benefits:
@ -2683,7 +2678,7 @@ declare function SOA(name: string, ns: string, mbox: string, refresh: number, re
* }),
* ...
* ...
* );
* END);
* ```
*
* The parameters are:
@ -2866,12 +2861,12 @@ declare function SOA(name: string, ns: string, mbox: string, refresh: number, re
* });
*
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* SPF_MYSETTINGS
* );
* SPF_MYSETTINGS,
* END);
*
* D("example2.tld", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* SPF_MYSETTINGS
* );
* SPF_MYSETTINGS,
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/spf_builder
@ -2889,7 +2884,7 @@ declare function SPF_BUILDER(opts: { label?: string; overflow?: string; overhead
* // pr w port, target
* SRV("_sip._tcp", 10, 60, 5060, "bigbox.example.com."),
* SRV("_sip._tcp", 10, 20, 5060, "smallbox1.example.com."),
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/srv
@ -2938,8 +2933,8 @@ declare function SSHFP(name: string, algorithm: 0 | 1 | 2 | 3 | 4, type: 0 | 1 |
*
* ```javascript
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* SVCB("@", 1, ".", "ipv4hint=123.123.123.123 alpn=h3,h2 port=443")
* );
* SVCB("@", 1, ".", "ipv4hint=123.123.123.123 alpn=h3,h2 port=443"),
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/svcb
@ -2957,7 +2952,7 @@ declare function SVCB(name: string, priority: number, target: string, params: st
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
* // Create TLSA record for certificate used on TCP port 443
* TLSA("_443._tcp", 3, 1, 1, "abcdef0"),
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/tlsa
@ -2990,7 +2985,7 @@ declare function TLSA(name: string, usage: number, selector: number, type: numbe
* A("foo", "2.3.4.5", TTL(500)), // overrides default
* A("demo1", "3.4.5.11", TTL("5d")), // 5 days
* A("demo2", "3.4.5.12", TTL("5w")), // 5 weeks
* );
* END);
* ```
*
* @see https://docs.dnscontrol.org/language-reference/record-modifiers/ttl
@ -3017,8 +3012,8 @@ declare function TTL(ttl: Duration): RecordModifier;
* TXT("multiple", ["one", "two", "three"]), // Multiple strings
* TXT("quoted", "any "quotes" and escapes? ugh; no worries!"),
* TXT("_domainkey", "t=y; o=-;"), // Escapes are done for you automatically.
* TXT("long", "X".repeat(300)) // Long strings are split automatically.
* );
* TXT("long", "X".repeat(300)), // Long strings are split automatically.
* END);
* ```
*
* NOTE: In the past, long strings had to be annotated with the keyword

View file

@ -25,8 +25,8 @@ D("cafferata.dev",
TXT("spf", [
"v=spf1",
"-all"
].join(" "))
);
].join(" ")),
END);
```
{% endcode %}

View file

@ -60,8 +60,8 @@ D("example.com", REG_NAMECOM, DnsProvider(DNS_NAMECOM), DnsProvider(DNS_BIND),
A("sitea", host01, TTL(1800)),
A("siteb", host01, TTL(1800)),
A("sitec", host02, TTL(1800)),
A("sited", host02, TTL(1800))
);
A("sited", host02, TTL(1800)),
END);
```
{% endcode %}
@ -87,7 +87,7 @@ CLI_DEFAULTS({
D("example.com", REG_EXAMPLE, DnsProvider(DNS_EXAMPLE),
A("www", "10.10.10.10"),
);
END);
if (emergency) {
// Emergency mode: Configure A/B/C using CNAMEs to our alternate site.
@ -95,8 +95,8 @@ if (emergency) {
D_EXTEND("example.com",
CNAME("a", "a.othersite"),
CNAME("b", "b.othersite"),
CNAME("c", "c.othersite")
);
CNAME("c", "c.othersite"),
END);
} else {
// Normal operation: Configure A/B/C using A records.
@ -104,8 +104,8 @@ if (emergency) {
D_EXTEND("example.com",
A("a", "10.10.10.10"),
A("b", "10.10.10.11"),
A("c", "10.10.10.12")
);
A("c", "10.10.10.12"),
END);
}
```

View file

@ -12,8 +12,8 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
MX("mail", 20, "mailqueue"),
TXT("the", "message"),
NS("department2", "ns1.dnsexample.com."), // use different nameservers
NS("department2", "ns2.dnsexample.com.") // for department2.example.com
)
NS("department2", "ns2.dnsexample.com."), // for department2.example.com
END);
```
{% endcode %}
@ -31,8 +31,8 @@ D("example.com", REG_MY_PROVIDER,
MX("@", 10, "4.3.2.1", mailTTL), // set TTL
A("@", "1.2.3.4", TTL("10m")), // individual record
CNAME("mail", "mx01") // TTL of 5m, as defined per DefaultTTL()
);
CNAME("mail", "mx01"), // TTL of 5m, as defined per DefaultTTL()
END);
```
{% endcode %}
@ -46,7 +46,7 @@ var DSP_R53 = NewDnsProvider("route53_user1");
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_R53),
A("@", addrA), // 1.2.3.4
A("www", addrA + 1), // 1.2.3.5
)
END);
```
{% endcode %}
@ -72,7 +72,7 @@ var activeDC = dcA;
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_R53),
A("@", activeDC + 5), // fixed address based on activeDC
)
END);
```
{% endcode %}
@ -99,8 +99,8 @@ var GOOGLE_APPS_CNAME_RECORDS = [
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_R53),
GOOGLE_APPS_MX_RECORDS,
GOOGLE_APPS_CNAME_RECORDS,
A("@", "1.2.3.4")
)
A("@", "1.2.3.4"),
END);
```
{% endcode %}
@ -123,7 +123,7 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
"~all"
]
}),
);
END);
```
{% endcode %}
@ -133,8 +133,8 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
DEFAULTS(
NAMESERVER_TTL("24h"),
DefaultTTL("12h"),
CF_PROXY_DEFAULT_OFF
);
CF_PROXY_DEFAULT_OFF,
END);
```
{% endcode %}
@ -148,20 +148,20 @@ var DSP_R53 = NewDnsProvider("route53_user1");
var DSP_GCLOUD = NewDnsProvider("gcloud_admin");
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_R53), DnsProvider(DSP_GCLOUD),
A("@", "1.2.3.4")
)
A("@", "1.2.3.4"),
END);
// above zone uses 8 NS records total (4 from each provider dynamically gathered)
// below zone will only take 2 from each for a total of 4. May be better for performance reasons.
D("example2.com", REG_MY_PROVIDER, DnsProvider(DSP_R53, 2), DnsProvider(DSP_GCLOUD ,2),
A("@", "1.2.3.4")
)
A("@", "1.2.3.4"),
END);
// or set a Provider as a non-authoritative backup (don"t register its nameservers)
D("example3.com", REG_MY_PROVIDER, DnsProvider(DSP_R53), DnsProvider(DSP_GCLOUD, 0),
A("@", "1.2.3.4")
)
A("@", "1.2.3.4"),
END);
```
{% endcode %}
@ -189,7 +189,7 @@ var FASTMAIL_DKIM = function(the_domain){
return [
CNAME("fm1._domainkey", "fm1." + the_domain + ".dkim.fmhosted.com."),
CNAME("fm2._domainkey", "fm2." + the_domain + ".dkim.fmhosted.com."),
CNAME("fm3._domainkey", "fm3." + the_domain + ".dkim.fmhosted.com.")
CNAME("fm3._domainkey", "fm3." + the_domain + ".dkim.fmhosted.com."),
]
}
```
@ -203,8 +203,8 @@ var DSP_R53_MAIN = NewDnsProvider("r53_main");
D("example.com", REG_NONE, DnsProvider(DSP_R53_MAIN),
FASTMAIL_MX,
FASTMAIL_DKIM("example.com")
)
FASTMAIL_DKIM("example.com"),
END);
```
{% endcode %}

View file

@ -100,8 +100,8 @@ var REG_NONE = NewRegistrar("none");
var DNS_BIND = NewDnsProvider("bind");
D("example.com", REG_NONE, DnsProvider(DNS_BIND),
A("@", "1.2.3.4")
);
A("@", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -22,7 +22,7 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("@", "1.2.3.4"),
A("foo", "2.3.4.5"),
A("test.foo", IP("1.2.3.4"), TTL(5000)),
A("*", "1.2.3.4", {foo: 42})
);
A("*", "1.2.3.4", {foo: 42}),
END);
```
{% endcode %}

View file

@ -24,7 +24,7 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
AAAA("@", addrV6),
AAAA("foo", addrV6),
AAAA("test.foo", addrV6, TTL(5000)),
AAAA("*", addrV6, {foo: 42})
);
AAAA("*", addrV6, {foo: 42}),
END);
```
{% endcode %}

View file

@ -22,6 +22,6 @@ Target should be a string representing the target. If it is a single label we wi
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
ALIAS("@", "google.com."), // example.com -> google.com
);
END);
```
{% endcode %}

View file

@ -23,13 +23,13 @@ correct syntax is `AUTODNSSEC_ON` not `AUTODNSSEC_ON()`
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
AUTODNSSEC_ON, // Enable AutoDNSSEC.
A("@", "10.1.1.1")
);
A("@", "10.1.1.1"),
END);
D("insecure.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
AUTODNSSEC_OFF, // Disable AutoDNSSEC.
A("@", "10.2.2.2")
);
A("@", "10.2.2.2"),
END);
```
{% endcode %}

View file

@ -53,6 +53,6 @@ This arrangement is useful if you want some record sets to be aliases and some n
D("example.com", REG_MY_PROVIDER, DnsProvider("AZURE_DNS"),
AZURE_ALIAS("foo", "A", "/subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/trafficManagerProfiles/testpp2"), // record for traffic manager
AZURE_ALIAS("foo", "CNAME", "/subscriptions/726f8cd6-6459-4db4-8e6d-2cd2716904e2/resourceGroups/test/providers/Microsoft.Network/dnszones/example.com/A/quux."), // record in the same zone
);
END);
```
{% endcode %}

View file

@ -33,8 +33,8 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
CAA("@", "issuewild", ";"),
// Report all violation to test@example.com. If CA does not support
// this record then refuse to issue any certificate
CAA("@", "iodef", "mailto:test@example.com", CAA_CRITICAL)
);
CAA("@", "iodef", "mailto:test@example.com", CAA_CRITICAL),
END);
```
{% endcode %}

View file

@ -37,6 +37,6 @@ This example redirects the bare (aka apex, or naked) domain to www:
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
CF_REDIRECT("example.com/*", "https://www.example.com/$1"),
);
END);
```
{% endcode %}

View file

@ -30,6 +30,6 @@ managed by DNSControl and those that aren't.
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
CF_TEMP_REDIRECT("example.example.com/*", "https://otherplace.yourdomain.com/$1"),
);
END);
```
{% endcode %}

View file

@ -30,6 +30,6 @@ This example assigns the patterns `api.example.com/*` and `example.com/api/*` to
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
CF_WORKER_ROUTE("api.example.com/*", "my-worker"),
CF_WORKER_ROUTE("example.com/api/*", "my-worker"),
);
END);
```
{% endcode %}

View file

@ -21,6 +21,6 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
CNAME("foo", "google.com."), // foo.example.com -> google.com
CNAME("abc", "@"), // abc.example.com -> example.com
CNAME("def", "test"), // def.example.com -> test.example.com
);
END);
```
{% endcode %}

View file

@ -17,7 +17,7 @@ Digest should be a string.
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
DHCID("example.com", "ABCDEFG")
);
DHCID("example.com", "ABCDEFG"),
END);
```
{% endcode %}

View file

@ -17,7 +17,7 @@ Target should be a string.
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
DNAME("sub", "example.net.")
);
DNAME("sub", "example.net."),
END);
```
{% endcode %}

View file

@ -29,7 +29,7 @@ Public key must be a string.
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
DNSKEY("@", 257, 3, 13, "AABBCCDD")
);
DNSKEY("@", 257, 3, 13, "AABBCCDD"),
END);
```
{% endcode %}

View file

@ -29,7 +29,7 @@ Digest must be a string.
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
DS("example.com", 2371, 13, 2, "ABCDEF")
);
DS("example.com", 2371, 13, 2, "ABCDEF"),
END);
```
{% endcode %}

View file

@ -17,8 +17,8 @@ NS records are currently a special case, and do not inherit from `DefaultTTL`. S
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
DefaultTTL("4h"),
A("@","1.2.3.4"), // uses default
A("foo", "2.3.4.5", TTL(600)) // overrides default
);
A("foo", "2.3.4.5", TTL(600)), // overrides default
END);
```
{% endcode %}

View file

@ -26,7 +26,7 @@ Modifiers can be any number of [record modifiers](https://docs.dnscontrol.org/la
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
HTTPS("@", 1, ".", "ipv4hint=123.123.123.123 alpn=h3,h2 port=443"),
HTTPS("@", 1, "test.com", "")
);
HTTPS("@", 1, "test.com", ""),
END);
```
{% endcode %}

View file

@ -52,16 +52,16 @@ var TRANSFORM_INT = [
]
D("foo.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("one","1.2.3.1")
A("two","1.2.3.2")
A("three","1.2.3.13")
A("four","1.2.3.14")
);
A("one","1.2.3.1"),
A("two","1.2.3.2"),
A("three","1.2.3.13"),
A("four","1.2.3.14"),
END);
D("bar.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("www","123.123.123.123")
A("www","123.123.123.123"),
IMPORT_TRANSFORM(TRANSFORM_INT, "foo.com", 300),
);
END);
```
{% endcode %}

View file

@ -12,12 +12,12 @@ Includes all records from a given domain
{% code title="dnsconfig.js" %}
```javascript
D("example.com!external", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("test", "8.8.8.8")
);
A("test", "8.8.8.8"),
END);
D("example.com!internal", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
INCLUDE("example.com!external"),
A("home", "127.0.0.1")
);
A("home", "127.0.0.1"),
END);
```
{% endcode %}

View file

@ -105,16 +105,15 @@ The coordinate format for `LOC()` is:
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
// LOC "subdomain", d1, m1, s1, "[NnSs]", d2, m2, s2, "[EeWw]", alt, siz, hp, vp)
//42 21 54 N 71 06 18 W -24m 30m
, LOC("@", 42, 21, 54, "N", 71, 6, 18, "W", -24, 30, 0, 0)
LOC("@", 42, 21, 54, "N", 71, 6, 18, "W", -24, 30, 0, 0),
//42 21 43.952 N 71 5 6.344 W -24m 1m 200m 10m
, LOC("a", 42, 21, 43.952, "N", 71, 5, 6.344, "W", -24, 1, 200, 10)
LOC("a", 42, 21, 43.952, "N", 71, 5, 6.344, "W", -24, 1, 200, 10),
//52 14 05 N 00 08 50 E 10m
, LOC("b", 52, 14, 5, "N", 0, 8, 50, "E", 10, 0, 0, 0)
LOC("b", 52, 14, 5, "N", 0, 8, 50, "E", 10, 0, 0, 0),
//32 7 19 S 116 2 25 E 10m
, LOC("c", 32, 7, 19, "S",116, 2, 25, "E", 10, 0, 0, 0)
LOC("c", 32, 7, 19, "S",116, 2, 25, "E", 10, 0, 0, 0),
//42 21 28.764 N 71 00 51.617 W -44m 2000m
, LOC("d", 42, 21, 28.764, "N", 71, 0, 51.617, "W", -44, 2000, 0, 0)
);
LOC("d", 42, 21, 28.764, "N", 71, 0, 51.617, "W", -44, 2000, 0, 0),
END);
```
{% endcode %}

View file

@ -42,27 +42,26 @@ The White House:
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
LOC_BUILDER_DD({
LOC_BUILDER_DD({
label: "big-ben",
x: 51.50084265331501,
y: -0.12462541415599787,
alt: 6,
})
, LOC_BUILDER_DD({
}),
LOC_BUILDER_DD({
label: "white-house",
x: 38.89775977858357,
y: -77.03655125982903,
alt: 19,
})
, LOC_BUILDER_DD({
}),
LOC_BUILDER_DD({
label: "white-house-ttl",
x: 38.89775977858357,
y: -77.03655125982903,
alt: 19,
ttl: "5m",
})
);
}),
END);
```
{% endcode %}

View file

@ -40,9 +40,8 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
label: "tasmania",
str: "42°S 147°E",
alt: 3,
})
);
}),
END);
```
{% endcode %}

View file

@ -41,9 +41,8 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
str: "33°5131″S 151°1251″E",
alt: 4,
ttl: "5m",
})
);
}),
END);
```
{% endcode %}

View file

@ -33,23 +33,22 @@ Accepts a string and tries all `LOC_BUILDER_DM*_STR({})` methods:
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
, LOC_BUILDER_STR({
LOC_BUILDER_STR({
label: "old-faithful",
str: "44.46046°N 110.82815°W",
alt: 2240,
})
, LOC_BUILDER_STR({
}),
LOC_BUILDER_STR({
label: "ribblehead-viaduct",
str: "54.210436°N 2.370231°W",
alt: 300,
})
, LOC_BUILDER_STR({
}),
LOC_BUILDER_STR({
label: "guinness-brewery",
str: "53°2040″N 6°1720″W",
alt: 300,
})
);
}),
END);
```
{% endcode %}

View file

@ -22,7 +22,7 @@ Target should be a string representing the MX target. If it is a single label we
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
MX("@", 5, "mail"), // mx example.com -> mail.example.com
MX("sub", 10, "mail.foo.com.")
);
MX("sub", 10, "mail.foo.com."),
END);
```
{% endcode %}

View file

@ -27,13 +27,13 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
// Replace the nameservers:
NAMESERVER("ns1.myserver.com."),
NAMESERVER("ns2.myserver.com."),
);
END);
D("example2.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
// Add these two additional nameservers to the existing list of nameservers.
NAMESERVER("ns1.myserver.com."),
NAMESERVER("ns2.myserver.com."),
);
END);
```
{% endcode %}
@ -85,6 +85,6 @@ It looks like this:
var REG_THIRDPARTY = NewRegistrar("ThirdParty");
D("example.com", REG_THIRDPARTY,
...
)
END);
```
{% endcode %}

View file

@ -16,8 +16,8 @@ The value can be an integer or a string. See [`TTL`](../record-modifiers/TTL.md)
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
NAMESERVER_TTL("2d"),
NAMESERVER("ns")
);
NAMESERVER("ns"),
END);
```
{% endcode %}
@ -31,8 +31,8 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
NAMESERVER("ns1.provider.com."), //inherits NAMESERVER_TTL
NAMESERVER("ns2.provider.com."), //inherits NAMESERVER_TTL
A("@","1.2.3.4"), // inherits DefaultTTL
A("foo", "2.3.4.5", TTL(600)) // overrides DefaultTTL for this record only
);
A("foo", "2.3.4.5", TTL(600)), // overrides DefaultTTL for this record only
END);
```
{% endcode %}

View file

@ -166,8 +166,8 @@ D("3.2.1.5.5.5.0.0.8.1.e164.arpa.", REG_MY_PROVIDER, DnsProvider(R53),
NAPTR("7", 10, 10, "u", "E2U+SIP", "!^.*$!sip:jane@example.com!", "."),
NAPTR("8", 10, 10, "u", "E2U+SIP", "!^.*$!sip:mike@example.com!", "."),
NAPTR("9", 10, 10, "u", "E2U+SIP", "!^.*$!sip:linda@example.com!", "."),
NAPTR("0", 10, 10, "u", "E2U+SIP", "!^.*$!sip:fax@example.com!", ".")
);
NAPTR("0", 10, 10, "u", "E2U+SIP", "!^.*$!sip:fax@example.com!", "."),
END);
```
{% endcode %}
@ -177,8 +177,8 @@ Single e164 zone
D("4.3.2.1.5.5.5.0.0.8.1.e164.arpa.", REG_MY_PROVIDER, DnsProvider(R53),
NAPTR("@", 100, 50, "u", "E2U+SIP", "!^.*$!sip:customer-service@example.com!", "."),
NAPTR("@", 101, 50, "u", "E2U+email", "!^.*$!mailto:information@example.com!", "."),
NAPTR("@", 101, 50, "u", "smtp+E2U", "!^.*$!mailto:information@example.com!", ".")
);
NAPTR("@", 101, 50, "u", "smtp+E2U", "!^.*$!mailto:information@example.com!", "."),
END);
```
{% endcode %}
@ -199,7 +199,7 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("sip", "192.0.2.2"),
AAAA("sip", "2001:db8::85a3"),
// and so on
);
END);
```
{% endcode %}
@ -217,7 +217,7 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
SRV("_z3950._tcp", 0, 0, 1000, "z3950.beast.example.com."),
SRV("_http._tcp", 10, 0, 80, "foo.example.com."),
// and so on
);
END);
```
{% endcode %}

View file

@ -28,8 +28,8 @@ in place.
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER), NO_PURGE,
A("foo","1.2.3.4")
);
A("foo","1.2.3.4"),
END);
```
{% endcode %}

View file

@ -25,6 +25,6 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
NS("foo", "ns2.example2.com."), // Delegate ".foo.example.com" zone to another server.
A("ns1.example2.com", "10.10.10.10"), // Glue records
A("ns2.example2.com", "10.10.10.20"), // Glue records
);
END);
```
{% endcode %}

View file

@ -68,7 +68,7 @@ D(REV("1.2.3.0/24"), REGISTRAR, DnsProvider(BIND),
PTR("3", "baz.example.com."),
// If the first parameter is a valid IP address, DNSControl will generate the correct name:
PTR("1.2.3.10", "ten.example.com."), // "10"
);
END);
```
{% endcode %}
@ -76,7 +76,7 @@ D(REV("1.2.3.0/24"), REGISTRAR, DnsProvider(BIND),
```javascript
D(REV("9.9.9.128/25"), REGISTRAR, DnsProvider(BIND),
PTR("9.9.9.129", "first.example.com."),
);
END);
```
{% endcode %}
@ -87,7 +87,7 @@ D(REV("2001:db8:302::/48"), REGISTRAR, DnsProvider(BIND),
// If the first parameter is a valid IP address, DNSControl will generate the correct name:
PTR("2001:db8:302::2", "two.example.com."), // "2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
PTR("2001:db8:302::3", "three.example.com."), // "3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0"
);
END);
```
{% endcode %}
@ -111,10 +111,10 @@ function FORWARD_AND_REVERSE(ipaddr, fqdn) {
D("example.com", REGISTRAR, DnsProvider(DSP_NONE),
...,
END);
END);
D(REV("10.20.30.0/24"), REGISTRAR, DnsProvider(DSP_NONE),
...,
END);
END);
FORWARD_AND_REVERSE("10.20.30.77", "foo.example.com.");
FORWARD_AND_REVERSE("10.20.30.99", "bar.example.com.");

View file

@ -25,7 +25,7 @@ Purge is the default, but we set it anyway:
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
PURGE,
);
END);
```
{% endcode %}
@ -39,6 +39,6 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
PURGE,
NO_PURGE,
PURGE,
);
END);
```
{% endcode %}

View file

@ -49,6 +49,6 @@ D("example.com", REG_MY_PROVIDER, DnsProvider("ROUTE53"),
R53_ALIAS("foo", "A", "blahblah.elasticloadbalancing.us-west-1.amazonaws.com.", R53_ZONE("Z368ELLRRE2KJ0"), R53_EVALUATE_TARGET_HEALTH(true)), // a classic ELB in us-west-1 with target health evaluation enabled
R53_ALIAS("foo", "A", "blahblah.elasticbeanstalk.us-west-2.amazonaws.com.", R53_ZONE("Z38NKT9BP95V3O")), // an Elastic Beanstalk environment in us-west-2
R53_ALIAS("foo", "A", "blahblah-bucket.s3-website-us-west-1.amazonaws.com.", R53_ZONE("Z2F56UZL2M1ACD")), // a website S3 Bucket in us-west-1
);
END);
```
{% endcode %}

View file

@ -26,7 +26,7 @@ parameter_types:
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
SOA("@", "ns3.example.com.", "hostmaster@example.com", 3600, 600, 604800, 1440),
);
END);
```
{% endcode %}

View file

@ -40,8 +40,8 @@ Here is an example of how SPF settings are normally done:
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
TXT("v=spf1 ip4:198.252.206.0/24 ip4:192.111.0.0/24 include:_spf.google.com include:mailgun.org include:spf-basic.fogcreek.com include:mail.zendesk.com include:servers.mcsv.net include:sendgrid.net include:450622.spf05.hubspotemail.net ~all")
)
TXT("v=spf1 ip4:198.252.206.0/24 ip4:192.111.0.0/24 include:_spf.google.com include:mailgun.org include:spf-basic.fogcreek.com include:mail.zendesk.com include:servers.mcsv.net include:sendgrid.net include:450622.spf05.hubspotemail.net ~all"),
END)
```
{% endcode %}
@ -81,7 +81,7 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
"450622.spf05.hubspotemail.net" // Rationale: Unlikely to change without warning.
]
}),
);
END);
```
{% endcode %}
@ -118,7 +118,7 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
}),
...
...
);
END);
```
{% endcode %}
@ -306,11 +306,11 @@ var SPF_MYSETTINGS = SPF_BUILDER({
});
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
SPF_MYSETTINGS
);
SPF_MYSETTINGS,
END);
D("example2.tld", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
SPF_MYSETTINGS
);
SPF_MYSETTINGS,
END);
```
{% endcode %}

View file

@ -27,6 +27,6 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
// pr w port, target
SRV("_sip._tcp", 10, 60, 5060, "bigbox.example.com."),
SRV("_sip._tcp", 10, 20, 5060, "smallbox1.example.com."),
);
END);
```
{% endcode %}

View file

@ -25,7 +25,7 @@ Modifiers can be any number of [record modifiers](https://docs.dnscontrol.org/la
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
SVCB("@", 1, ".", "ipv4hint=123.123.123.123 alpn=h3,h2 port=443")
);
SVCB("@", 1, ".", "ipv4hint=123.123.123.123 alpn=h3,h2 port=443"),
END);
```
{% endcode %}

View file

@ -27,6 +27,6 @@ Certificate is a hex string.
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
// Create TLSA record for certificate used on TCP port 443
TLSA("_443._tcp", 3, 1, 1, "abcdef0"),
);
END);
```
{% endcode %}

View file

@ -30,8 +30,8 @@ Modifiers can be any number of [record modifiers](https://docs.dnscontrol.org/la
TXT("multiple", ["one", "two", "three"]), // Multiple strings
TXT("quoted", "any "quotes" and escapes? ugh; no worries!"),
TXT("_domainkey", "t=y; o=-;"), // Escapes are done for you automatically.
TXT("long", "X".repeat(300)) // Long strings are split automatically.
);
TXT("long", "X".repeat(300)), // Long strings are split automatically.
END);
```
{% endcode %}

View file

@ -32,6 +32,6 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("foo", "2.3.4.5", TTL(500)), // overrides default
A("demo1", "3.4.5.11", TTL("5d")), // 5 days
A("demo2", "3.4.5.12", TTL("5w")), // 5 weeks
);
END);
```
{% endcode %}

View file

@ -26,8 +26,8 @@ Modifier arguments are processed according to type as follows:
// simple domain
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("@","1.2.3.4"),
CNAME("test", "foo.example2.com.")
);
CNAME("test", "foo.example2.com."),
END);
// "macro" for records that can be mixed into any zone
var GOOGLE_APPS_DOMAIN_MX = [
@ -41,12 +41,11 @@ var GOOGLE_APPS_DOMAIN_MX = [
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("@","1.2.3.4"),
CNAME("test", "foo.example2.com."),
GOOGLE_APPS_DOMAIN_MX
);
GOOGLE_APPS_DOMAIN_MX,
END);
```
{% endcode %}
# Split Horizon DNS
DNSControl supports Split Horizon DNS. Simply
@ -64,16 +63,16 @@ var DNS_INSIDE = NewDnsProvider("Cloudflare");
var DNS_OUTSIDE = NewDnsProvider("bind");
D("example.com!inside", REG_THIRDPARTY, DnsProvider(DNS_INSIDE),
A("www", "10.10.10.10")
);
A("www", "10.10.10.10"),
END);
D("example.com!outside", REG_THIRDPARTY, DnsProvider(DNS_OUTSIDE),
A("www", "20.20.20.20")
);
A("www", "20.20.20.20"),
END);
D_EXTEND("example.com!inside",
A("internal", "10.99.99.99")
);
A("internal", "10.99.99.99"),
END);
```
{% endcode %}

View file

@ -19,12 +19,12 @@ The domain `example.com` will have the defaults set.
var COMMON = NewDnsProvider("foo");
DEFAULTS(
DnsProvider(COMMON, 0),
DefaultTTL("1d")
);
DefaultTTL("1d"),
END);
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("@","1.2.3.4")
);
A("@","1.2.3.4"),
END);
```
{% endcode %}
@ -36,7 +36,7 @@ The domain `example2.com` will **not** have the defaults set.
DEFAULTS();
D("example2.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("@","1.2.3.4")
);
A("@","1.2.3.4"),
END);
```
{% endcode %}

View file

@ -34,8 +34,8 @@ DOMAIN_ELSEWHERE("example.com", REG_MY_PROVIDER, ["ns1.foo.com", "ns2.foo.com"])
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
NO_PURGE,
NAMESERVER("ns1.foo.com"),
NAMESERVER("ns2.foo.com")
);
NAMESERVER("ns2.foo.com"),
END);
```
{% endcode %}

View file

@ -38,8 +38,8 @@ DOMAIN_ELSEWHERE_AUTO("example.com", REG_NAMEDOTCOM, DSP_AZURE);
```javascript
D("example.com", REG_NAMEDOTCOM,
NO_PURGE,
DnsProvider(DSP_AZURE)
);
DnsProvider(DSP_AZURE),
END);
```
{% endcode %}

View file

@ -37,25 +37,25 @@ in a `D_EXTEND` subdomain may not be what you expect.
D("domain.tld", REG_MY_PROVIDER, DnsProvider(DNS),
A("@", "127.0.0.1"), // domain.tld
A("www", "127.0.0.2"), // www.domain.tld
CNAME("a", "b") // a.domain.tld -> b.domain.tld
);
CNAME("a", "b"), // a.domain.tld -> b.domain.tld
END);
D_EXTEND("domain.tld",
A("aaa", "127.0.0.3"), // aaa.domain.tld
CNAME("c", "d") // c.domain.tld -> d.domain.tld
);
CNAME("c", "d"), // c.domain.tld -> d.domain.tld
END);
D_EXTEND("sub.domain.tld",
A("bbb", "127.0.0.4"), // bbb.sub.domain.tld
A("ccc", "127.0.0.5"), // ccc.sub.domain.tld
CNAME("e", "f") // e.sub.domain.tld -> f.sub.domain.tld
);
CNAME("e", "f"), // e.sub.domain.tld -> f.sub.domain.tld
END);
D_EXTEND("sub.sub.domain.tld",
A("ddd", "127.0.0.6"), // ddd.sub.sub.domain.tld
CNAME("g", "h") // g.sub.sub.domain.tld -> h.sub.sub.domain.tld
);
CNAME("g", "h"), // g.sub.sub.domain.tld -> h.sub.sub.domain.tld
END);
D_EXTEND("sub.domain.tld",
A("@", "127.0.0.7"), // sub.domain.tld
CNAME("i", "j") // i.sub.domain.tld -> j.sub.domain.tld
);
CNAME("i", "j"), // i.sub.domain.tld -> j.sub.domain.tld
END);
```
{% endcode %}

View file

@ -22,9 +22,9 @@ Otherwise the syntax of `FETCH` is the same as `fetch`.
{% code title="dnsconfig.js" %}
```javascript
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER), [
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
A("@", "1.2.3.4"),
]);
END);
FETCH("https://example.com", {
// All three options below are optional

View file

@ -31,8 +31,8 @@ var REG_MYNDC = NewRegistrar("mynamedotcom", "NAMEDOTCOM");
var DNS_MYAWS = NewDnsProvider("myaws", "ROUTE53");
D("example.com", REG_MYNDC, DnsProvider(DNS_MYAWS),
A("@","1.2.3.4")
);
A("@","1.2.3.4"),
END);
```
{% endcode %}
@ -44,7 +44,7 @@ var REG_MYNDC = NewRegistrar("mynamedotcom");
var DNS_MYAWS = NewDnsProvider("myaws");
D("example.com", REG_MYNDC, DnsProvider(DNS_MYAWS),
A("@","1.2.3.4")
);
A("@","1.2.3.4"),
END);
```
{% endcode %}

View file

@ -31,8 +31,8 @@ var REG_MYNDC = NewRegistrar("mynamedotcom", "NAMEDOTCOM");
var DNS_MYAWS = NewDnsProvider("myaws", "ROUTE53");
D("example.com", REG_MYNDC, DnsProvider(DNS_MYAWS),
A("@","1.2.3.4")
);
A("@","1.2.3.4"),
END);
```
{% endcode %}
@ -44,7 +44,7 @@ var REG_MYNDC = NewRegistrar("mynamedotcom");
var DNS_MYAWS = NewDnsProvider("myaws");
D("example.com", REG_MYNDC, DnsProvider(DNS_MYAWS),
A("@","1.2.3.4")
);
A("@","1.2.3.4"),
END);
```
{% endcode %}

View file

@ -63,14 +63,14 @@ D(REV("1.2.3.0/24"), REGISTRAR, DnsProvider(BIND),
PTR("3", "baz.example.com."),
// If the first parameter is an IP address, DNSControl automatically calls REV() for you.
PTR("1.2.3.10", "ten.example.com."),
);
END);
D(REV("2001:db8:302::/48"), REGISTRAR, DnsProvider(BIND),
PTR("1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0", "foo.example.com."), // 2001:db8:302::1
// If the first parameter is an IP address, DNSControl automatically calls REV() for you.
PTR("2001:db8:302::2", "two.example.com."), // 2.0.0...
PTR("2001:db8:302::3", "three.example.com."), // 3.0.0...
);
END);
```
{% endcode %}

View file

@ -45,8 +45,8 @@ Here's a more complex example:
require("kubernetes/clusters.js");
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
IncludeKubernetes()
);
IncludeKubernetes(),
END);
```
{% endcode %}

View file

@ -4,7 +4,7 @@ var REG_NONE = NewRegistrar("none");
var DNS_BIND = NewDnsProvider("bind");
D("example.com", REG_NONE, DnsProvider(DNS_BIND),
A("@", "1.2.3.4")
);
A("@", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -45,8 +45,8 @@ Simplicity.
```javascript
D("example.com", REG_NAMECOM,
DnsProvider(DNS_NAMECOM),
A("@", "10.2.3.4")
);
A("@", "10.2.3.4"),
END);
```
{% endcode %}
@ -64,8 +64,8 @@ you want to use a high-performance DNS server.
```javascript
D("example.com", REG_NAMECOM,
DnsProvider(DNS_AWS),
A("@", "10.2.3.4")
);
A("@", "10.2.3.4"),
END);
```
{% endcode %}
@ -85,8 +85,8 @@ updating the zone's records (most likely at a different provider).
```javascript
D("example.com", REG_THIRDPARTY,
DnsProvider(DNS_NAMECOM),
A("@", "10.2.3.4")
);
A("@", "10.2.3.4"),
END);
```
{% endcode %}
@ -108,7 +108,7 @@ D("example.com", REG_NAMECOM,
NAMESERVER("dns2.p03.nsone.net."),
NAMESERVER("dns3.p03.nsone.net."),
NAMESERVER("dns4.p03.nsone.net."),
);
END);
```
{% endcode %}
@ -130,8 +130,8 @@ D("example.com", REG_NAMECOM,
DnsProvider(DNS_CLOUDFLARE, 0), // Set the DNS provider but ignore the nameservers it suggests (0 == take none of the names it reports)
NAMESERVER("kim.ns.cloudflare.com."),
NAMESERVER("walt.ns.cloudflare.com."),
A("@", "10.2.3.4")
);
A("@", "10.2.3.4"),
END);
```
{% endcode %}
@ -149,8 +149,8 @@ Usually only to correct a bug or misconfiguration elsewhere.
D("example.com", REG_NAMECOM,
DnsProvider(DNS_NAMECOM),
NAMESERVER("ns1.myexample.com"),
A("@", "10.2.3.4")
);
A("@", "10.2.3.4"),
END);
```
{% endcode %}
@ -173,8 +173,8 @@ D("example.com", REG_NAMECOM,
DnsProvider(DNS_NAMECOM), // Our real DNS server
DnsProvider(DNS_CLOUDFLARE, 0), // Quietly send a copy of the zone here.
DnsProvider(DNS_BIND, 0), // And here too!
A("@", "10.2.3.4")
);
A("@", "10.2.3.4"),
END);
```
{% endcode %}
@ -203,8 +203,8 @@ More info: https://www.dns-oarc.net/files/workshop-201203/OARC-workshop-London-2
D("example.com", REG_NAMECOM,
DnsProvider(DNS_AWS, 2), // Take 2 nameservers from AWS
DnsProvider(DNS_GOOGLE, 2), // Take 2 nameservers from GCP
A("@", "10.2.3.4")
);
A("@", "10.2.3.4"),
END);
```
{% endcode %}
@ -232,8 +232,8 @@ this is the output of DNSControl, not the input.
D("example.com", REG_NAMECOM,
DnsProvider(DNS_NAMECOM),
DnsProvider(DNS_BIND, 0), // Don't activate any nameservers related to BIND.
A("@", "10.2.3.4")
);
A("@", "10.2.3.4"),
END);
```
{% endcode %}
@ -257,7 +257,7 @@ var REG_MONITOR = NewRegistrar("DNS-over-HTTPS");
D("example.com", REG_MONITOR,
NAMESERVER("ns1.example.com."),
NAMESERVER("ns2.example.com."),
);
END);
```
{% endcode %}

View file

@ -34,7 +34,7 @@ Below is an example where we add [the A record](language-reference/domain-modifi
```diff
D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
+ A("foo", "1.2.3.4"),
);
END);
```
{% endcode %}

View file

@ -71,8 +71,8 @@ D("example.com", REG_NONE, DnsProvider(DSP_AKAMAIEDGEDNS),
NAMESERVER_TTL(86400),
AUTODNSSEC_ON,
AKAMAICDN("@", "www.preconfigured.edgesuite.net", TTL(20)),
A("foo", "1.2.3.4")
);
A("foo", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -28,7 +28,7 @@ var REG_NONE = NewRegistrar("none");
var DSP_AUTODNS = NewDnsProvider("autodns");
D("example.com", REG_NONE, DnsProvider(DSP_AUTODNS),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -59,8 +59,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_AZURE_MAIN = NewDnsProvider("azuredns_main");
D("example.com", REG_NONE, DnsProvider(DSP_AZURE_MAIN),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -57,8 +57,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_AZURE_PRIVATE_MAIN = NewDnsProvider("azure_private_dns_main");
D("example.com", REG_NONE, DnsProvider(DSP_AZURE_PRIVATE_MAIN),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -47,8 +47,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_BUNNY_DNS = NewDnsProvider("bunny_dns");
D("example.com", REG_NONE, DnsProvider(DSP_BUNNY_DNS),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -161,8 +161,8 @@ var DSP_CLOUDFLARE = NewDnsProvider("cloudflare");
D("example.com", REG_NONE, DnsProvider(DSP_CLOUDFLARE),
A("www1","1.2.3.11", CF_PROXY_ON), // turn proxy ON.
A("www2","1.2.3.12", CF_PROXY_OFF), // default is OFF, this is a no-op.
A("www3","1.2.3.13", {"cloudflare_proxy": "on"}) // Old format.
);
A("www3","1.2.3.13", {"cloudflare_proxy": "on"}), // Old format.
END);
```
{% endcode %}
@ -180,8 +180,8 @@ D("example.com", REG_NONE, DnsProvider(DSP_CLOUDFLARE),
A("notproxied", "1.2.3.5"),
A("another", "1.2.3.6", CF_PROXY_ON),
ALIAS("@", "www.example.com.", CF_PROXY_ON),
CNAME("myalias", "www.example.com.", CF_PROXY_ON)
);
CNAME("myalias", "www.example.com.", CF_PROXY_ON),
END);
// Example domain where the CF proxy default is set to "on":
D("example2.tld", REG_NONE, DnsProvider(DSP_CLOUDFLARE),
@ -190,8 +190,8 @@ D("example2.tld", REG_NONE, DnsProvider(DSP_CLOUDFLARE),
A("notproxied", "1.2.3.5", CF_PROXY_OFF),
A("another", "1.2.3.6"),
ALIAS("@", "www.example2.tld."),
CNAME("myalias", "www.example2.tld.")
);
CNAME("myalias", "www.example2.tld."),
END);
```
{% endcode %}
@ -223,7 +223,7 @@ D("chiphacker.com", REG_NONE, DnsProvider(DSP_CLOUDFLARE),
A("meta", "1.2.3.4", CF_PROXY_ON),
// ...
);
END);
```
{% endcode %}
@ -246,7 +246,7 @@ D("foo.com", REG_NONE, DnsProvider(DSP_CLOUDFLARE),
// Assign the patterns `api.foo.com/*` and `foo.com/api/*` to `my-worker` script.
CF_WORKER_ROUTE("api.foo.com/*", "my-worker"),
CF_WORKER_ROUTE("foo.com/api/*", "my-worker"),
);
END);
```
{% endcode %}

View file

@ -42,8 +42,8 @@ var DSP_CLOUDNS = NewDnsProvider("cloudns");
D("example.com", REG_NONE, DnsProvider(DSP_CLOUDNS),
CLOUDNS_WR("@", "http://example.com/"),
CLOUDNS_WR("www", "http://example.com/")
)
CLOUDNS_WR("www", "http://example.com/"),
END)
```
{% endcode %}
@ -56,8 +56,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_CLOUDNS = NewDnsProvider("cloudns");
D("example.com", REG_NONE, DnsProvider(DSP_CLOUDNS),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -37,8 +37,8 @@ var REG_CSCGLOBAL = NewRegistrar("cscglobal");
var DSP_BIND = NewDnsProvider("bind");
D("example.com", REG_CSCGLOBAL, DnsProvider(DSP_BIND),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -28,8 +28,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_DESEC = NewDnsProvider("desec");
D("example.com", REG_NONE, DnsProvider(DSP_DESEC),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -28,8 +28,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_DIGITALOCEAN = NewDnsProvider("mydigitalocean");
D("example.com", REG_NONE, DnsProvider(DSP_DIGITALOCEAN),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -37,8 +37,8 @@ var REG_DNSIMPLE = NewRegistrar("dnsimple");
var DSP_DNSIMPLE = NewDnsProvider("dnsimple");
D("example.com", REG_DNSIMPLE, DnsProvider(DSP_DNSIMPLE),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -37,8 +37,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_DNSMADEEASY = NewDnsProvider("dnsmadeeasy");
D("example.com", REG_NONE, DnsProvider(DSP_DNSMADEEASY),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -48,7 +48,7 @@ var REG_MONITOR = NewRegistrar("dohcloudflare");
D("example.com", REG_MONITOR,
NAMESERVER("ns1.example.com."),
NAMESERVER("ns2.example.com."),
);
END);
```
{% endcode %}

View file

@ -29,8 +29,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_DOMAINNAMESHOP = NewDnsProvider("mydomainnameshop");
D("example.com", REG_NONE, DnsProvider(DSP_DOMAINNAMESHOP),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -35,7 +35,7 @@ var REG_EASYNAME = NewRegistrar("easyname");
D("example.com", REG_EASYNAME,
NAMESERVER("ns1.example.com."),
NAMESERVER("ns2.example.com."),
);
END);
```
{% endcode %}

View file

@ -13,7 +13,7 @@ var REG_NONE = NewRegistrar("none");
var DSP_EXOSCALE = NewDnsProvider("exoscale");
D("example.com", REG_NONE, DnsProvider(DSP_EXOSCALE),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -59,8 +59,8 @@ var REG_GANDI = NewRegistrar("gandi");
var DSP_GANDI = NewDnsProvider("gandi");
D("example.com", REG_GANDI, DnsProvider(DSP_GANDI),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -65,8 +65,8 @@ var REG_NAMECOM = NewRegistrar("name.com");
var DSP_GCLOUD = NewDnsProvider("gcloud");
D("example.com", REG_NAMECOM, DnsProvider(DSP_GCLOUD),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}
@ -108,8 +108,8 @@ var DSP_GCLOUD = NewDnsProvider("gcloud", {
});
D("example.tld", REG_NAMECOM, DnsProvider(DSP_GCLOUD),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -28,8 +28,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_GCORE = NewDnsProvider("gcore");
D("example.com", REG_NONE, DnsProvider(DSP_GCORE),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -111,7 +111,7 @@ var REG_NONE = NewRegistrar("none");
var DSP_HEDNS = NewDnsProvider("hedns");
D("example.com", REG_NONE, DnsProvider(DSP_HEDNS),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -31,8 +31,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_HETZNER = NewDnsProvider("hetzner");
D("example.com", REG_NONE, DnsProvider(DSP_HETZNER),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -91,8 +91,8 @@ D("example.com", REG_HEXONET, DnsProvider(DSP_HEXONET),
NAMESERVER("ns3.ispapi.net"),
NAMESERVER("ns4.ispapi.net"),
A("elk1", "10.190.234.178"),
A("test", "56.123.54.12")
);
A("test", "56.123.54.12"),
END);
```
{% endcode %}

View file

@ -26,8 +26,8 @@ var REG_HOSTINGDE = NewRegistrar("hosting.de");
var DSP_HOSTINGDE = NewDnsProvider("hosting.de");
D("example.com", REG_HOSTINGDE, DnsProvider(DSP_HOSTINGDE),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -32,7 +32,7 @@ var REG_INTERNETBS = NewRegistrar("internetbs");
D("example.com", REG_INTERNETBS,
NAMESERVER("ns1.example.com."),
NAMESERVER("ns2.example.com."),
);
END);
```
{% endcode %}

View file

@ -105,7 +105,7 @@ var REG_INWX = NewRegistrar("inwx");
var DSP_CF = NewDnsProvider("cloudflare");
D("example.com", REG_INWX, DnsProvider(DSP_CF),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -28,8 +28,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_LINODE = NewDnsProvider("linode");
D("example.com", REG_NONE, DnsProvider(DSP_LINODE),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -198,8 +198,8 @@ D("example.com", REG_LOOPIA, DnsProvider(DSP_LOOPIA),
//NAMESERVER("ns1.loopia.se."), //default
//NAMESERVER("ns2.loopia.se."), //default
A("elk1", "192.0.2.1"),
A("test", "192.0.2.2")
);
A("test", "192.0.2.2"),
END);
```
{% endcode %}

View file

@ -29,8 +29,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_LUADNS = NewDnsProvider("luadns");
D("example.com", REG_NONE, DnsProvider(DSP_LUADNS),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -54,7 +54,7 @@ var REG_NONE = NewRegistrar("none");
var DSP_MSDNS = NewDnsProvider("msdns");
D("example.com", REG_NONE, DnsProvider(DSP_MSDNS),
A("test", "1.2.3.4")
)
A("test", "1.2.3.4"),
END)
```
{% endcode %}

View file

@ -33,7 +33,7 @@ var REG_NONE = NewRegistrar("none");
var DSP_MYTHIC = NewDnsProvider("mythicbeasts");
D("example.com", REG_NONE, DnsProvider(DSP_MYTHIC),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -51,8 +51,8 @@ var REG_NAMECHEAP = NewRegistrar("namecheap");
var DSP_BIND = NewDnsProvider("bind");
D("example.com", REG_NAMECHEAP, DnsProvider(DSP_BIND),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}
@ -67,8 +67,8 @@ var DSP_NAMECHEAP = NewDnsProvider("namecheap");
D("example.com", REG_NAMECHEAP, DnsProvider(DSP_NAMECHEAP),
URL("@", "http://example.com/"),
URL("www", "http://example.com/"),
URL301("backup", "http://backup.example.com/")
)
URL301("backup", "http://backup.example.com/"),
END)
```
{% endcode %}

View file

@ -44,8 +44,8 @@ var REG_NAMECOM = NewRegistrar("name.com");
var DSP_NAMECOM = NewDnsProvider("name.com");
D("example.com", REG_NAMECOM, DnsProvider(DSP_NAMECOM),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}
@ -58,8 +58,8 @@ var REG_NAMECOM = NewRegistrar("name.com");
var DSP_R53 = NewDnsProvider("r53");
D("example.com", REG_NAMECOM, DnsProvider(DSP_R53),
A("test","1.2.3.4")
);
A("test","1.2.3.4"),
END);
```
{% endcode %}

View file

@ -27,8 +27,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_NETCUP = NewDnsProvider("netcup");
D("example.com", REG_NONE, DnsProvider(DSP_NETCUP),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -30,8 +30,8 @@ var REG_NETLIFY = NewRegistrar("netlify");
var DSP_NETLIFY = NewDnsProvider("netlify");
D("example.com", REG_NETLIFY, DnsProvider(DSP_NETLIFY),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -28,7 +28,7 @@ var REG_NONE = NewRegistrar("none");
var DSP_NS1 = NewDnsProvider("ns1");
D("example.com", REG_NONE, DnsProvider(DSP_NS1),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -13,7 +13,7 @@ var REG_NONE = NewRegistrar("none");
var DSP_OPENSRS = NewDnsProvider("opensrs");
D("example.com", REG_NONE, DnsProvider(DSP_OPENSRS),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -38,7 +38,7 @@ var DSP_ORACLE = NewDnsProvider("oracle");
D("example.com", REG_NONE, DnsProvider(DSP_ORACLE),
NAMESERVER_TTL(86400),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -42,8 +42,8 @@ var REG_OVH = NewRegistrar("ovh");
var DSP_OVH = NewDnsProvider("ovh");
D("example.com", REG_OVH, DnsProvider(DSP_OVH),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}
@ -55,8 +55,8 @@ var REG_OVH = NewRegistrar("ovh");
var DSP_R53 = NewDnsProvider("r53");
D("example.com", REG_OVH, DnsProvider(DSP_R53),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -28,7 +28,7 @@ var REG_NONE = NewRegistrar("none");
var DSP_PACKETFRAME = NewDnsProvider("packetframe");
D("example.com", REG_NONE, DnsProvider(DSP_PACKETFRAME),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -31,7 +31,7 @@ var REG_NONE = NewRegistrar("none");
var DSP_PORKBUN = NewDnsProvider("porkbun");
D("example.com", REG_NONE, DnsProvider(DSP_PORKBUN),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -55,8 +55,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_POWERDNS = NewDnsProvider("powerdns");
D("example.com", REG_NONE, DnsProvider(DSP_POWERDNS),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -42,7 +42,7 @@ var REG_RTR = NewRegistrar("realtimeregister");
var DSP_RTR = NewDnsProvider("realtimeregister");
D("example.com", REG_RTR, DnsProvider(DSP_RTR),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}

View file

@ -73,8 +73,8 @@ var REG_NONE = NewRegistrar("none");
var DSP_R53 = NewDnsProvider("r53_main");
D("example.com", REG_NONE, DnsProvider(DSP_R53),
A("test", "1.2.3.4")
);
A("test", "1.2.3.4"),
END);
```
{% endcode %}
@ -94,13 +94,13 @@ D("testzone.net!private", REG_NONE,
DnsProvider(DSP_R53),
R53_ZONE("Z111111111JCCCP1V7UW"),
TXT("me", "private testzone.net"),
);
END);
D("testzone.net!public", REG_NONE,
DnsProvider(DSP_R53),
R53_ZONE("Z222222222INNG98SHJQ2"),
TXT("me", "public testzone.net"),
);
END);
```
{% endcode %}

Some files were not shown because too many files have changed in this diff Show more