mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
DOCS: Documentation directory structure (#2905)
This commit is contained in:
committed by
GitHub
parent
17d644cfc6
commit
c31064781f
@ -77,19 +77,19 @@ func matrixData() *FeatureMatrix {
|
|||||||
ProviderDNSProvider = "DNS Provider"
|
ProviderDNSProvider = "DNS Provider"
|
||||||
ProviderRegistrar = "Registrar"
|
ProviderRegistrar = "Registrar"
|
||||||
ProviderThreadSafe = "Concurrency Verified"
|
ProviderThreadSafe = "Concurrency Verified"
|
||||||
DomainModifierAlias = "[`ALIAS`](functions/domain/ALIAS.md)"
|
DomainModifierAlias = "[`ALIAS`](language-reference/domain-modifiers/ALIAS.md)"
|
||||||
DomainModifierCaa = "[`CAA`](functions/domain/CAA.md)"
|
DomainModifierCaa = "[`CAA`](language-reference/domain-modifiers/CAA.md)"
|
||||||
DomainModifierDnssec = "[`AUTODNSSEC`](functions/domain/AUTODNSSEC_ON.md)"
|
DomainModifierDnssec = "[`AUTODNSSEC`](language-reference/domain-modifiers/AUTODNSSEC_ON.md)"
|
||||||
DomainModifierLoc = "[`LOC`](functions/domain/LOC.md)"
|
DomainModifierLoc = "[`LOC`](language-reference/domain-modifiers/LOC.md)"
|
||||||
DomainModifierNaptr = "[`NAPTR`](functions/domain/NAPTR.md)"
|
DomainModifierNaptr = "[`NAPTR`](language-reference/domain-modifiers/NAPTR.md)"
|
||||||
DomainModifierPtr = "[`PTR`](functions/domain/PTR.md)"
|
DomainModifierPtr = "[`PTR`](language-reference/domain-modifiers/PTR.md)"
|
||||||
DomainModifierSoa = "[`SOA`](functions/domain/SOA.md)"
|
DomainModifierSoa = "[`SOA`](language-reference/domain-modifiers/SOA.md)"
|
||||||
DomainModifierSrv = "[`SRV`](functions/domain/SRV.md)"
|
DomainModifierSrv = "[`SRV`](language-reference/domain-modifiers/SRV.md)"
|
||||||
DomainModifierSshfp = "[`SSHFP`](functions/domain/SSHFP.md)"
|
DomainModifierSshfp = "[`SSHFP`](language-reference/domain-modifiers/SSHFP.md)"
|
||||||
DomainModifierTlsa = "[`TLSA`](functions/domain/TLSA.md)"
|
DomainModifierTlsa = "[`TLSA`](language-reference/domain-modifiers/TLSA.md)"
|
||||||
DomainModifierDs = "[`DS`](functions/domain/DS.md)"
|
DomainModifierDs = "[`DS`](language-reference/domain-modifiers/DS.md)"
|
||||||
DomainModifierDhcid = "[`DHCID`](functions/domain/DHCID.md)"
|
DomainModifierDhcid = "[`DHCID`](language-reference/domain-modifiers/DHCID.md)"
|
||||||
DomainModifierDname = "[`DNAME`](functions/domain/DNAME.md)"
|
DomainModifierDname = "[`DNAME`](language-reference/domain-modifiers/DNAME.md)"
|
||||||
DualHost = "dual host"
|
DualHost = "dual host"
|
||||||
CreateDomains = "create-domains"
|
CreateDomains = "create-domains"
|
||||||
GetZones = "get-zones"
|
GetZones = "get-zones"
|
||||||
|
@ -78,15 +78,15 @@ func parseFrontMatter(content string) (map[string]interface{}, string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var returnTypes = map[string]string{
|
var returnTypes = map[string]string{
|
||||||
"domain": "DomainModifier",
|
"domain-modifiers": "DomainModifier",
|
||||||
"global": "void",
|
"top-level-functions": "void",
|
||||||
"record": "RecordModifier",
|
"record-modifiers": "RecordModifier",
|
||||||
}
|
}
|
||||||
|
|
||||||
var categories = map[string]string{
|
var categories = map[string]string{
|
||||||
"domain": "domain-modifiers",
|
"domain-modifiers": "domain-modifiers",
|
||||||
"global": "top-level-functions",
|
"top-level-functions": "top-level-functions",
|
||||||
"record": "record-modifiers",
|
"record-modifiers": "record-modifiers",
|
||||||
}
|
}
|
||||||
|
|
||||||
var providerNames = map[string]string{
|
var providerNames = map[string]string{
|
||||||
@ -101,7 +101,7 @@ var providerNames = map[string]string{
|
|||||||
func generateFunctionTypes() (string, error) {
|
func generateFunctionTypes() (string, error) {
|
||||||
funcs := []Function{}
|
funcs := []Function{}
|
||||||
|
|
||||||
srcRoot := join("documentation", "functions")
|
srcRoot := join("documentation", "language-reference")
|
||||||
types, err := os.ReadDir(srcRoot)
|
types, err := os.ReadDir(srcRoot)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
54
commands/types/dnscontrol.d.ts
vendored
54
commands/types/dnscontrol.d.ts
vendored
@ -180,7 +180,7 @@ declare const DISABLE_REPEATED_DOMAIN_CHECK: RecordModifier;
|
|||||||
/**
|
/**
|
||||||
* A adds an A record To a domain. The name should be the relative label for the record. Use `@` for the domain apex.
|
* A adds an A record To a domain. The name should be the relative label for the record. Use `@` for the domain apex.
|
||||||
*
|
*
|
||||||
* The address should be an ip address, either a string, or a numeric value obtained via [IP](../global/IP.md).
|
* The address should be an ip address, either a string, or a numeric value obtained via [IP](../top-level-functions/IP.md).
|
||||||
*
|
*
|
||||||
* Modifiers can be any number of [record modifiers](https://docs.dnscontrol.org/language-reference/record-modifiers) or JSON objects, which will be merged into the record's metadata.
|
* Modifiers can be any number of [record modifiers](https://docs.dnscontrol.org/language-reference/record-modifiers) or JSON objects, which will be merged into the record's metadata.
|
||||||
*
|
*
|
||||||
@ -371,7 +371,7 @@ declare function CAA(name: string, tag: "issue" | "issuewild" | "iodef", value:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* DNSControl contains a `CAA_BUILDER` which can be used to simply create
|
* DNSControl contains a `CAA_BUILDER` which can be used to simply create
|
||||||
* [`CAA()`](../domain/CAA.md) records for your domains. Instead of creating each [`CAA()`](../domain/CAA.md) record
|
* [`CAA()`](../domain-modifiers/CAA.md) records for your domains. Instead of creating each [`CAA()`](../domain-modifiers/CAA.md) record
|
||||||
* individually, you can simply configure your report mail address, the
|
* individually, you can simply configure your report mail address, the
|
||||||
* authorized certificate authorities and the builder cares about the rest.
|
* authorized certificate authorities and the builder cares about the rest.
|
||||||
*
|
*
|
||||||
@ -570,11 +570,11 @@ declare function CNAME(name: string, target: string, ...modifiers: RecordModifie
|
|||||||
/**
|
/**
|
||||||
* `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
|
* `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
|
||||||
* name of the registrar (as previously declared with [NewRegistrar](NewRegistrar.md)). Any number of additional arguments may be included to add DNS Providers with [DNSProvider](NewDnsProvider.md),
|
* name of the registrar (as previously declared with [NewRegistrar](NewRegistrar.md)). Any number of additional arguments may be included to add DNS Providers with [DNSProvider](NewDnsProvider.md),
|
||||||
* add records with [A](../domain/A.md), [CNAME](../domain/CNAME.md), and so forth, or add metadata.
|
* add records with [A](../domain-modifiers/A.md), [CNAME](../domain-modifiers/CNAME.md), and so forth, or add metadata.
|
||||||
*
|
*
|
||||||
* Modifier arguments are processed according to type as follows:
|
* Modifier arguments are processed according to type as follows:
|
||||||
*
|
*
|
||||||
* - A function argument will be called with the domain object as it's only argument. Most of the [built-in modifier functions](https://docs.dnscontrol.org/language-reference/domain-modifiers) return such functions.
|
* - A function argument will be called with the domain object as it's only argument. Most of the [built-in modifier functions](https://docs.dnscontrol.org/language-reference/domain-modifiers-modifiers) return such functions.
|
||||||
* - An object argument will be merged into the domain's metadata collection.
|
* - An object argument will be merged into the domain's metadata collection.
|
||||||
* - An array argument will have all of it's members evaluated recursively. This allows you to combine multiple common records or modifiers into a variable that can
|
* - An array argument will have all of it's members evaluated recursively. This allows you to combine multiple common records or modifiers into a variable that can
|
||||||
* be used like a macro in multiple domains.
|
* be used like a macro in multiple domains.
|
||||||
@ -660,7 +660,7 @@ declare function D(name: string, registrar: string, ...modifiers: DomainModifier
|
|||||||
*
|
*
|
||||||
* ## Example
|
* ## Example
|
||||||
*
|
*
|
||||||
* We want to create backup zone files for all domains, but not actually register them. Also create a [`DefaultTTL`](../domain/DefaultTTL.md).
|
* We want to create backup zone files for all domains, but not actually register them. Also create a [`DefaultTTL`](../domain-modifiers/DefaultTTL.md).
|
||||||
* The domain `example.com` will have the defaults set.
|
* The domain `example.com` will have the defaults set.
|
||||||
*
|
*
|
||||||
* ```javascript
|
* ```javascript
|
||||||
@ -713,7 +713,7 @@ declare function DHCID(name: string, digest: string, ...modifiers: RecordModifie
|
|||||||
* It replaces the per-record `IGNORE_NAME_DISABLE_SAFETY_CHECK()` which is
|
* It replaces the per-record `IGNORE_NAME_DISABLE_SAFETY_CHECK()` which is
|
||||||
* deprecated as of DNSControl v4.0.0.0.
|
* deprecated as of DNSControl v4.0.0.0.
|
||||||
*
|
*
|
||||||
* See [`IGNORE()`](../domain/IGNORE.md) for more information.
|
* See [`IGNORE()`](../domain-modifiers/IGNORE.md) for more information.
|
||||||
*
|
*
|
||||||
* ## Syntax
|
* ## Syntax
|
||||||
*
|
*
|
||||||
@ -861,7 +861,7 @@ declare function DNAME(name: string, target: string, ...modifiers: RecordModifie
|
|||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* NOTE: The [`NO_PURGE`](../domain/NO_PURGE.md) is used out of abundance of caution but since no
|
* NOTE: The [`NO_PURGE`](../domain-modifiers/NO_PURGE.md) is used out of abundance of caution but since no
|
||||||
* `DnsProvider()` statements exist, no updates would be performed.
|
* `DnsProvider()` statements exist, no updates would be performed.
|
||||||
*
|
*
|
||||||
* @see https://docs.dnscontrol.org/language-reference/top-level-functions/domain_elsewhere
|
* @see https://docs.dnscontrol.org/language-reference/top-level-functions/domain_elsewhere
|
||||||
@ -896,7 +896,7 @@ declare function DOMAIN_ELSEWHERE(name: string, registrar: string, nameserver_na
|
|||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* NOTE: The [`NO_PURGE`](../domain/NO_PURGE.md) is used to prevent DNSControl from changing the records.
|
* NOTE: The [`NO_PURGE`](../domain-modifiers/NO_PURGE.md) is used to prevent DNSControl from changing the records.
|
||||||
*
|
*
|
||||||
* @see https://docs.dnscontrol.org/language-reference/top-level-functions/domain_elsewhere_auto
|
* @see https://docs.dnscontrol.org/language-reference/top-level-functions/domain_elsewhere_auto
|
||||||
*/
|
*/
|
||||||
@ -945,7 +945,7 @@ declare function DS(name: string, keytag: number, algorithm: number, digesttype:
|
|||||||
* not `domain.tld`.
|
* not `domain.tld`.
|
||||||
*
|
*
|
||||||
* Some operators only act on an apex domain (e.g.
|
* Some operators only act on an apex domain (e.g.
|
||||||
* [`CF_REDIRECT`](../domain/CF_REDIRECT.md) and [`CF_TEMP_REDIRECT`](../domain/CF_TEMP_REDIRECT.md)). Using them
|
* [`CF_REDIRECT`](../domain-modifiers/CF_REDIRECT.md) and [`CF_TEMP_REDIRECT`](../domain-modifiers/CF_TEMP_REDIRECT.md)). Using them
|
||||||
* in a `D_EXTEND` subdomain may not be what you expect.
|
* in a `D_EXTEND` subdomain may not be what you expect.
|
||||||
*
|
*
|
||||||
* ```javascript
|
* ```javascript
|
||||||
@ -1007,10 +1007,10 @@ declare function DS(name: string, keytag: number, algorithm: number, digesttype:
|
|||||||
declare function D_EXTEND(name: string, ...modifiers: DomainModifier[]): void;
|
declare function D_EXTEND(name: string, ...modifiers: DomainModifier[]): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DefaultTTL sets the TTL for all subsequent records following it in a domain that do not explicitly set one with [`TTL`](../record/TTL.md). If neither `DefaultTTL` or `TTL` exist for a record,
|
* DefaultTTL sets the TTL for all subsequent records following it in a domain that do not explicitly set one with [`TTL`](../record-modifiers/TTL.md). If neither `DefaultTTL` or `TTL` exist for a record,
|
||||||
* the record will inherit the DNSControl global internal default of 300 seconds. See also [`DEFAULTS`](../global/DEFAULTS.md) to override the internal defaults.
|
* the record will inherit the DNSControl global internal default of 300 seconds. See also [`DEFAULTS`](../top-level-functions/DEFAULTS.md) to override the internal defaults.
|
||||||
*
|
*
|
||||||
* NS records are currently a special case, and do not inherit from `DefaultTTL`. See [`NAMESERVER_TTL`](../domain/NAMESERVER_TTL.md) to set a default TTL for all NS records.
|
* NS records are currently a special case, and do not inherit from `DefaultTTL`. See [`NAMESERVER_TTL`](../domain-modifiers/NAMESERVER_TTL.md) to set a default TTL for all NS records.
|
||||||
*
|
*
|
||||||
* ```javascript
|
* ```javascript
|
||||||
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
|
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
|
||||||
@ -1020,7 +1020,7 @@ declare function D_EXTEND(name: string, ...modifiers: DomainModifier[]): void;
|
|||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* The DefaultTTL duration is the same format as [`TTL`](../record/TTL.md), an integer number of seconds
|
* The DefaultTTL duration is the same format as [`TTL`](../record-modifiers/TTL.md), an integer number of seconds
|
||||||
* or a string with a unit such as `"4d"`.
|
* or a string with a unit such as `"4d"`.
|
||||||
*
|
*
|
||||||
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/defaultttl
|
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/defaultttl
|
||||||
@ -1029,7 +1029,7 @@ declare function DefaultTTL(ttl: Duration): DomainModifier;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* DnsProvider indicates that the specified provider should be used to manage
|
* DnsProvider indicates that the specified provider should be used to manage
|
||||||
* records for this domain. The name must match the name used with [NewDnsProvider](../global/NewDnsProvider.md).
|
* records for this domain. The name must match the name used with [NewDnsProvider](../top-level-functions/NewDnsProvider.md).
|
||||||
*
|
*
|
||||||
* The nsCount parameter determines how the nameservers will be managed from this provider.
|
* The nsCount parameter determines how the nameservers will be managed from this provider.
|
||||||
*
|
*
|
||||||
@ -1075,11 +1075,11 @@ declare function FRAME(name: string, target: string, ...modifiers: RecordModifie
|
|||||||
*
|
*
|
||||||
* Technically `IGNORE_NAME` is a promise that DNSControl will not modify or
|
* Technically `IGNORE_NAME` is a promise that DNSControl will not modify or
|
||||||
* delete existing records that match particular patterns. It is like
|
* delete existing records that match particular patterns. It is like
|
||||||
* [`NO_PURGE`](../domain/NO_PURGE.md) that matches only specific records.
|
* [`NO_PURGE`](../domain-modifiers/NO_PURGE.md) that matches only specific records.
|
||||||
*
|
*
|
||||||
* Including a record that is ignored is considered an error and may have
|
* Including a record that is ignored is considered an error and may have
|
||||||
* undefined behavior. This safety check can be disabled using the
|
* undefined behavior. This safety check can be disabled using the
|
||||||
* [`DISABLE_IGNORE_SAFETY_CHECK`](../domain/DISABLE_IGNORE_SAFETY_CHECK.md) feature.
|
* [`DISABLE_IGNORE_SAFETY_CHECK`](../domain-modifiers/DISABLE_IGNORE_SAFETY_CHECK.md) feature.
|
||||||
*
|
*
|
||||||
* ## Syntax
|
* ## Syntax
|
||||||
*
|
*
|
||||||
@ -1815,7 +1815,7 @@ declare function NAMESERVER(name: string, ...modifiers: RecordModifier[]): Domai
|
|||||||
/**
|
/**
|
||||||
* NAMESERVER_TTL sets the TTL on the domain apex NS RRs defined by [`NAMESERVER`](NAMESERVER.md).
|
* NAMESERVER_TTL sets the TTL on the domain apex NS RRs defined by [`NAMESERVER`](NAMESERVER.md).
|
||||||
*
|
*
|
||||||
* The value can be an integer or a string. See [`TTL`](../record/TTL.md) for examples.
|
* The value can be an integer or a string. See [`TTL`](../record-modifiers/TTL.md) for examples.
|
||||||
*
|
*
|
||||||
* ```javascript
|
* ```javascript
|
||||||
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
|
* D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
|
||||||
@ -1837,7 +1837,7 @@ declare function NAMESERVER(name: string, ...modifiers: RecordModifier[]): Domai
|
|||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* To apply a default TTL to all other record types, see [`DefaultTTL`](../domain/DefaultTTL.md)
|
* To apply a default TTL to all other record types, see [`DefaultTTL`](../domain-modifiers/DefaultTTL.md)
|
||||||
*
|
*
|
||||||
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/nameserver_ttl
|
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/nameserver_ttl
|
||||||
*/
|
*/
|
||||||
@ -2250,7 +2250,7 @@ declare function PANIC(message: string): never;
|
|||||||
* * `PTR("4.3", ...` // Assuming the domain is `2.1.in-addr.arpa`
|
* * `PTR("4.3", ...` // Assuming the domain is `2.1.in-addr.arpa`
|
||||||
*
|
*
|
||||||
* All magic is RFC2317-aware. We use the first format listed in the
|
* All magic is RFC2317-aware. We use the first format listed in the
|
||||||
* RFC for both [`REV()`](../global/REV.md) and `PTR()`. The format is
|
* RFC for both [`REV()`](../top-level-functions/REV.md) and `PTR()`. The format is
|
||||||
* `FIRST/MASK.C.B.A.in-addr.arpa` where `FIRST` is the first IP address
|
* `FIRST/MASK.C.B.A.in-addr.arpa` where `FIRST` is the first IP address
|
||||||
* of the zone, `MASK` is the netmask of the zone (25-31 inclusive),
|
* of the zone, `MASK` is the netmask of the zone (25-31 inclusive),
|
||||||
* and A, B, C are the first 3 octets of the IP address. For example
|
* and A, B, C are the first 3 octets of the IP address. For example
|
||||||
@ -2371,7 +2371,7 @@ declare const PURGE: DomainModifier;
|
|||||||
* * _S3 bucket_ (configured as website): specify the domain name of the Amazon S3 website endpoint in which you configured the bucket (for instance s3-website-us-east-2.amazonaws.com). For the available values refer to the [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
|
* * _S3 bucket_ (configured as website): specify the domain name of the Amazon S3 website endpoint in which you configured the bucket (for instance s3-website-us-east-2.amazonaws.com). For the available values refer to the [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
|
||||||
* * _Another Route53 record_: specify the value of the name of another record in the same hosted zone.
|
* * _Another Route53 record_: specify the value of the name of another record in the same hosted zone.
|
||||||
*
|
*
|
||||||
* For all the target type, excluding 'another record', you have to specify the `Zone ID` of the target. This is done by using the [`R53_ZONE`](../record/R53_ZONE.md) record modifier.
|
* For all the target type, excluding 'another record', you have to specify the `Zone ID` of the target. This is done by using the [`R53_ZONE`](../record-modifiers/R53_ZONE.md) record modifier.
|
||||||
*
|
*
|
||||||
* The zone id can be found depending on the target type:
|
* The zone id can be found depending on the target type:
|
||||||
*
|
*
|
||||||
@ -2381,7 +2381,7 @@ declare const PURGE: DomainModifier;
|
|||||||
* * _S3 bucket_ (configured as website): specify the hosted zone ID for the region that you created the bucket in. You can find it in [the List of regions and hosted Zone IDs](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
|
* * _S3 bucket_ (configured as website): specify the hosted zone ID for the region that you created the bucket in. You can find it in [the List of regions and hosted Zone IDs](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
|
||||||
* * _Another Route 53 record_: you can either specify the correct zone id or do not specify anything and DNSControl will figure out the right zone id. (Note: Route53 alias can't reference a record in a different zone).
|
* * _Another Route 53 record_: you can either specify the correct zone id or do not specify anything and DNSControl will figure out the right zone id. (Note: Route53 alias can't reference a record in a different zone).
|
||||||
*
|
*
|
||||||
* Target health evaluation can be enabled with the [`R53_EVALUATE_TARGET_HEALTH`](../record/R53\_EVALUATE\_TARGET\_HEALTH.md) record modifier.
|
* Target health evaluation can be enabled with the [`R53_EVALUATE_TARGET_HEALTH`](../record-modifiers/R53\_EVALUATE\_TARGET\_HEALTH.md) record modifier.
|
||||||
*
|
*
|
||||||
* ```javascript
|
* ```javascript
|
||||||
* D("example.com", REG_MY_PROVIDER, DnsProvider("ROUTE53"),
|
* D("example.com", REG_MY_PROVIDER, DnsProvider("ROUTE53"),
|
||||||
@ -2398,18 +2398,18 @@ declare const PURGE: DomainModifier;
|
|||||||
declare function R53_ALIAS(name: string, target: string, zone_idModifier: DomainModifier & RecordModifier, evaluatetargethealthModifier: RecordModifier): DomainModifier;
|
declare function R53_ALIAS(name: string, target: string, zone_idModifier: DomainModifier & RecordModifier, evaluatetargethealthModifier: RecordModifier): DomainModifier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* `R53_EVALUATE_TARGET_HEALTH` lets you enable target health evaluation for a [`R53_ALIAS()`](../domain/R53_ALIAS.md) record. Omitting `R53_EVALUATE_TARGET_HEALTH()` from `R53_ALIAS()` set the behavior to false.
|
* `R53_EVALUATE_TARGET_HEALTH` lets you enable target health evaluation for a [`R53_ALIAS()`](../domain-modifiers/R53_ALIAS.md) record. Omitting `R53_EVALUATE_TARGET_HEALTH()` from `R53_ALIAS()` set the behavior to false.
|
||||||
*
|
*
|
||||||
* @see https://docs.dnscontrol.org/language-reference/record-modifiers/service-provider-specific/amazon-route-53/r53_evaluate_target_health
|
* @see https://docs.dnscontrol.org/language-reference/record-modifiers/service-provider-specific/amazon-route-53/r53_evaluate_target_health
|
||||||
*/
|
*/
|
||||||
declare function R53_EVALUATE_TARGET_HEALTH(enabled: boolean): RecordModifier;
|
declare function R53_EVALUATE_TARGET_HEALTH(enabled: boolean): RecordModifier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* `R53_ZONE` lets you specify the AWS Zone ID for an entire domain ([`D()`](../global/D.md)) or a specific [`R53_ALIAS()`](../domain/R53_ALIAS.md) record.
|
* `R53_ZONE` lets you specify the AWS Zone ID for an entire domain ([`D()`](../top-level-functions/D.md)) or a specific [`R53_ALIAS()`](../domain-modifiers/R53_ALIAS.md) record.
|
||||||
*
|
*
|
||||||
* When used with [`D()`](../global/D.md), it sets the zone id of the domain. This can be used to differentiate between split horizon domains in public and private zones. See this [example](../../providers/route53.md#split-horizon) in the [Amazon Route 53 provider page](../../providers/route53.md).
|
* When used with [`D()`](../top-level-functions/D.md), it sets the zone id of the domain. This can be used to differentiate between split horizon domains in public and private zones. See this [example](../../providers/route53.md#split-horizon) in the [Amazon Route 53 provider page](../../providers/route53.md).
|
||||||
*
|
*
|
||||||
* When used with [`R53_ALIAS()`](../domain/R53_ALIAS.md) it sets the required Route53 hosted zone id in a R53_ALIAS record. See [`R53_ALIAS()`](../domain/R53_ALIAS.md) documentation for details.
|
* When used with [`R53_ALIAS()`](../domain-modifiers/R53_ALIAS.md) it sets the required Route53 hosted zone id in a R53_ALIAS record. See [`R53_ALIAS()`](../domain-modifiers/R53_ALIAS.md) documentation for details.
|
||||||
*
|
*
|
||||||
* @see https://docs.dnscontrol.org/language-reference/record-modifiers/service-provider-specific/amazon-route-53/r53_zone
|
* @see https://docs.dnscontrol.org/language-reference/record-modifiers/service-provider-specific/amazon-route-53/r53_zone
|
||||||
*/
|
*/
|
||||||
@ -2906,7 +2906,7 @@ declare function TLSA(name: string, usage: number, selector: number, type: numbe
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* TTL sets the TTL for a single record only. This will take precedence
|
* TTL sets the TTL for a single record only. This will take precedence
|
||||||
* over the domain's [DefaultTTL](../domain/DefaultTTL.md) if supplied.
|
* over the domain's [DefaultTTL](../domain-modifiers/DefaultTTL.md) if supplied.
|
||||||
*
|
*
|
||||||
* The value can be:
|
* The value can be:
|
||||||
*
|
*
|
||||||
@ -3010,7 +3010,7 @@ declare function TTL(ttl: Duration): RecordModifier;
|
|||||||
*
|
*
|
||||||
* #### How can you tell if a provider will support a particular `TXT()` record?
|
* #### How can you tell if a provider will support a particular `TXT()` record?
|
||||||
*
|
*
|
||||||
* Include the `TXT()` record in a [`D()`](../global/D.md) as usual, along
|
* Include the `TXT()` record in a [`D()`](../top-level-functions/D.md) as usual, along
|
||||||
* with the `DnsProvider()` for that provider. Run `dnscontrol check` to
|
* with the `DnsProvider()` for that provider. Run `dnscontrol check` to
|
||||||
* see if any errors are produced. The check command does not talk to
|
* see if any errors are produced. The check command does not talk to
|
||||||
* the provider's API, thus permitting you to do this without having an
|
* the provider's API, thus permitting you to do this without having an
|
||||||
|
2
commands/types/fetch.d.ts
vendored
2
commands/types/fetch.d.ts
vendored
@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* @dnscontrol-auto-doc-comment functions/global/FETCH.md
|
* @dnscontrol-auto-doc-comment language-reference/top-level-functions/FETCH.md
|
||||||
*/
|
*/
|
||||||
declare function FETCH(
|
declare function FETCH(
|
||||||
url: string,
|
url: string,
|
||||||
|
@ -13,86 +13,85 @@
|
|||||||
|
|
||||||
* [JavaScript DSL](js.md)
|
* [JavaScript DSL](js.md)
|
||||||
* Top Level Functions
|
* Top Level Functions
|
||||||
* [D](functions/global/D.md)
|
* [D](language-reference/top-level-functions/D.md)
|
||||||
* [DEFAULTS](functions/global/DEFAULTS.md)
|
* [DEFAULTS](language-reference/top-level-functions/DEFAULTS.md)
|
||||||
* [DOMAIN_ELSEWHERE](functions/global/DOMAIN_ELSEWHERE.md)
|
* [DOMAIN_ELSEWHERE](language-reference/top-level-functions/DOMAIN_ELSEWHERE.md)
|
||||||
* [DOMAIN_ELSEWHERE_AUTO](functions/global/DOMAIN_ELSEWHERE_AUTO.md)
|
* [DOMAIN_ELSEWHERE_AUTO](language-reference/top-level-functions/DOMAIN_ELSEWHERE_AUTO.md)
|
||||||
* [D_EXTEND](functions/global/D_EXTEND.md)
|
* [D_EXTEND](language-reference/top-level-functions/D_EXTEND.md)
|
||||||
* [FETCH](functions/global/FETCH.md)
|
* [FETCH](language-reference/top-level-functions/FETCH.md)
|
||||||
* [IP](functions/global/IP.md)
|
* [IP](language-reference/top-level-functions/IP.md)
|
||||||
* [NewDnsProvider](functions/global/NewDnsProvider.md)
|
* [NewDnsProvider](language-reference/top-level-functions/NewDnsProvider.md)
|
||||||
* [NewRegistrar](functions/global/NewRegistrar.md)
|
* [NewRegistrar](language-reference/top-level-functions/NewRegistrar.md)
|
||||||
* [PANIC](functions/global/PANIC.md)
|
* [PANIC](language-reference/top-level-functions/PANIC.md)
|
||||||
* [REV](functions/global/REV.md)
|
* [REV](language-reference/top-level-functions/REV.md)
|
||||||
* [REVCOMPAT](functions/global/REVCOMPAT.md)
|
* [getConfiguredDomains](language-reference/top-level-functions/getConfiguredDomains.md)
|
||||||
* [getConfiguredDomains](functions/global/getConfiguredDomains.md)
|
* [require](language-reference/top-level-functions/require.md)
|
||||||
* [require](functions/global/require.md)
|
* [require_glob](language-reference/top-level-functions/require_glob.md)
|
||||||
* [require_glob](functions/global/require_glob.md)
|
|
||||||
* Domain Modifiers
|
* Domain Modifiers
|
||||||
* [A](functions/domain/A.md)
|
* [A](language-reference/domain-modifiers/A.md)
|
||||||
* [AAAA](functions/domain/AAAA.md)
|
* [AAAA](language-reference/domain-modifiers/AAAA.md)
|
||||||
* [ALIAS](functions/domain/ALIAS.md)
|
* [ALIAS](language-reference/domain-modifiers/ALIAS.md)
|
||||||
* [AUTODNSSEC_OFF](functions/domain/AUTODNSSEC_OFF.md)
|
* [AUTODNSSEC_OFF](language-reference/domain-modifiers/AUTODNSSEC_OFF.md)
|
||||||
* [AUTODNSSEC_ON](functions/domain/AUTODNSSEC_ON.md)
|
* [AUTODNSSEC_ON](language-reference/domain-modifiers/AUTODNSSEC_ON.md)
|
||||||
* [CAA](functions/domain/CAA.md)
|
* [CAA](language-reference/domain-modifiers/CAA.md)
|
||||||
* [CAA_BUILDER](functions/domain/CAA_BUILDER.md)
|
* [CAA_BUILDER](language-reference/domain-modifiers/CAA_BUILDER.md)
|
||||||
* [CNAME](functions/domain/CNAME.md)
|
* [CNAME](language-reference/domain-modifiers/CNAME.md)
|
||||||
* [DHCID](functions/domain/DHCID.md)
|
* [DHCID](language-reference/domain-modifiers/DHCID.md)
|
||||||
* [DNAME](functions/domain/DNAME.md)
|
* [DNAME](language-reference/domain-modifiers/DNAME.md)
|
||||||
* [DISABLE_IGNORE_SAFETY_CHECK](functions/domain/DISABLE_IGNORE_SAFETY_CHECK.md)
|
* [DISABLE_IGNORE_SAFETY_CHECK](language-reference/domain-modifiers/DISABLE_IGNORE_SAFETY_CHECK.md)
|
||||||
* [DMARC_BUILDER](functions/domain/DMARC_BUILDER.md)
|
* [DMARC_BUILDER](language-reference/domain-modifiers/DMARC_BUILDER.md)
|
||||||
* [DS](functions/domain/DS.md)
|
* [DS](language-reference/domain-modifiers/DS.md)
|
||||||
* [DefaultTTL](functions/domain/DefaultTTL.md)
|
* [DefaultTTL](language-reference/domain-modifiers/DefaultTTL.md)
|
||||||
* [DnsProvider](functions/domain/DnsProvider.md)
|
* [DnsProvider](language-reference/domain-modifiers/DnsProvider.md)
|
||||||
* [FRAME](functions/domain/FRAME.md)
|
* [FRAME](language-reference/domain-modifiers/FRAME.md)
|
||||||
* [IGNORE](functions/domain/IGNORE.md)
|
* [IGNORE](language-reference/domain-modifiers/IGNORE.md)
|
||||||
* [IGNORE_NAME](functions/domain/IGNORE_NAME.md)
|
* [IGNORE_NAME](language-reference/domain-modifiers/IGNORE_NAME.md)
|
||||||
* [IGNORE_TARGET](functions/domain/IGNORE_TARGET.md)
|
* [IGNORE_TARGET](language-reference/domain-modifiers/IGNORE_TARGET.md)
|
||||||
* [IMPORT_TRANSFORM](functions/domain/IMPORT_TRANSFORM.md)
|
* [IMPORT_TRANSFORM](language-reference/domain-modifiers/IMPORT_TRANSFORM.md)
|
||||||
* [INCLUDE](functions/domain/INCLUDE.md)
|
* [INCLUDE](language-reference/domain-modifiers/INCLUDE.md)
|
||||||
* [LOC](functions/domain/LOC.md)
|
* [LOC](language-reference/domain-modifiers/LOC.md)
|
||||||
* [LOC_BUILDER_DD](functions/domain/LOC_BUILDER_DD.md)
|
* [LOC_BUILDER_DD](language-reference/domain-modifiers/LOC_BUILDER_DD.md)
|
||||||
* [LOC_BUILDER_DMM_STR](functions/domain/LOC_BUILDER_DMM_STR.md)
|
* [LOC_BUILDER_DMM_STR](language-reference/domain-modifiers/LOC_BUILDER_DMM_STR.md)
|
||||||
* [LOC_BUILDER_DMS_STR](functions/domain/LOC_BUILDER_DMS_STR.md)
|
* [LOC_BUILDER_DMS_STR](language-reference/domain-modifiers/LOC_BUILDER_DMS_STR.md)
|
||||||
* [LOC_BUILDER_STR](functions/domain/LOC_BUILDER_STR.md)
|
* [LOC_BUILDER_STR](language-reference/domain-modifiers/LOC_BUILDER_STR.md)
|
||||||
* [M365_BUILDER](functions/domain/M365_BUILDER.md)
|
* [M365_BUILDER](language-reference/domain-modifiers/M365_BUILDER.md)
|
||||||
* [MX](functions/domain/MX.md)
|
* [MX](language-reference/domain-modifiers/MX.md)
|
||||||
* [NAMESERVER](functions/domain/NAMESERVER.md)
|
* [NAMESERVER](language-reference/domain-modifiers/NAMESERVER.md)
|
||||||
* [NAMESERVER_TTL](functions/domain/NAMESERVER_TTL.md)
|
* [NAMESERVER_TTL](language-reference/domain-modifiers/NAMESERVER_TTL.md)
|
||||||
* [NAPTR](functions/domain/NAPTR.md)
|
* [NAPTR](language-reference/domain-modifiers/NAPTR.md)
|
||||||
* [NO_PURGE](functions/domain/NO_PURGE.md)
|
* [NO_PURGE](language-reference/domain-modifiers/NO_PURGE.md)
|
||||||
* [NS](functions/domain/NS.md)
|
* [NS](language-reference/domain-modifiers/NS.md)
|
||||||
* [PTR](functions/domain/PTR.md)
|
* [PTR](language-reference/domain-modifiers/PTR.md)
|
||||||
* [PURGE](functions/domain/PURGE.md)
|
* [PURGE](language-reference/domain-modifiers/PURGE.md)
|
||||||
* [SOA](functions/domain/SOA.md)
|
* [SOA](language-reference/domain-modifiers/SOA.md)
|
||||||
* [SPF_BUILDER](functions/domain/SPF_BUILDER.md)
|
* [SPF_BUILDER](language-reference/domain-modifiers/SPF_BUILDER.md)
|
||||||
* [SRV](functions/domain/SRV.md)
|
* [SRV](language-reference/domain-modifiers/SRV.md)
|
||||||
* [SSHFP](functions/domain/SSHFP.md)
|
* [SSHFP](language-reference/domain-modifiers/SSHFP.md)
|
||||||
* [TLSA](functions/domain/TLSA.md)
|
* [TLSA](language-reference/domain-modifiers/TLSA.md)
|
||||||
* [TXT](functions/domain/TXT.md)
|
* [TXT](language-reference/domain-modifiers/TXT.md)
|
||||||
* [URL](functions/domain/URL.md)
|
* [URL](language-reference/domain-modifiers/URL.md)
|
||||||
* [URL301](functions/domain/URL301.md)
|
* [URL301](language-reference/domain-modifiers/URL301.md)
|
||||||
* Service Provider specific
|
* Service Provider specific
|
||||||
* Akamai Edge Dns
|
* Akamai Edge Dns
|
||||||
* [AKAMAICDN](functions/domain/AKAMAICDN.md)
|
* [AKAMAICDN](language-reference/domain-modifiers/AKAMAICDN.md)
|
||||||
* Amazon Route 53
|
* Amazon Route 53
|
||||||
* [R53_ALIAS](functions/domain/R53_ALIAS.md)
|
* [R53_ALIAS](language-reference/domain-modifiers/R53_ALIAS.md)
|
||||||
* Azure DNS
|
* Azure DNS
|
||||||
* [AZURE_ALIAS](functions/domain/AZURE_ALIAS.md)
|
* [AZURE_ALIAS](language-reference/domain-modifiers/AZURE_ALIAS.md)
|
||||||
* Cloudflare DNS
|
* Cloudflare DNS
|
||||||
* [CF_REDIRECT](functions/domain/CF_REDIRECT.md)
|
* [CF_REDIRECT](language-reference/domain-modifiers/CF_REDIRECT.md)
|
||||||
* [CF_TEMP_REDIRECT](functions/domain/CF_TEMP_REDIRECT.md)
|
* [CF_TEMP_REDIRECT](language-reference/domain-modifiers/CF_TEMP_REDIRECT.md)
|
||||||
* [CF_WORKER_ROUTE](functions/domain/CF_WORKER_ROUTE.md)
|
* [CF_WORKER_ROUTE](language-reference/domain-modifiers/CF_WORKER_ROUTE.md)
|
||||||
* ClouDNS
|
* ClouDNS
|
||||||
* [CLOUDNS_WR](functions/domain/CLOUDNS_WR.md)
|
* [CLOUDNS_WR](language-reference/domain-modifiers/CLOUDNS_WR.md)
|
||||||
* NS1
|
* NS1
|
||||||
* [NS1_URLFWD](functions/domain/NS1_URLFWD.md)
|
* [NS1_URLFWD](language-reference/domain-modifiers/NS1_URLFWD.md)
|
||||||
* Record Modifiers
|
* Record Modifiers
|
||||||
* [TTL](functions/record/TTL.md)
|
* [TTL](language-reference/record-modifiers/TTL.md)
|
||||||
* Service Provider specific
|
* Service Provider specific
|
||||||
* Amazon Route 53
|
* Amazon Route 53
|
||||||
* [R53_ZONE](functions/record/R53_ZONE.md)
|
* [R53_ZONE](language-reference/record-modifiers/R53_ZONE.md)
|
||||||
* [R53_EVALUATE_TARGET_HEALTH](functions/record/R53\_EVALUATE\_TARGET\_HEALTH.md)
|
* [R53_EVALUATE_TARGET_HEALTH](language-reference/record-modifiers/R53\_EVALUATE\_TARGET\_HEALTH.md)
|
||||||
* [Why CNAME/MX/NS targets require a "dot"](why-the-dot.md)
|
* [Why CNAME/MX/NS targets require a "dot"](why-the-dot.md)
|
||||||
|
|
||||||
## Service Providers
|
## Service Providers
|
||||||
|
@ -79,9 +79,9 @@ popd
|
|||||||
func matrixData() *FeatureMatrix {
|
func matrixData() *FeatureMatrix {
|
||||||
const (
|
const (
|
||||||
...
|
...
|
||||||
DomainModifierCaa = "[`CAA`](functions/domain/CAA.md)"
|
DomainModifierCaa = "[`CAA`](language-reference/domain-modifiers/CAA.md)"
|
||||||
+ DomainModifierFoo = "[`FOO`](functions/domain/FOO.md)"
|
+ DomainModifierFoo = "[`FOO`](language-reference/domain-modifiers/FOO.md)"
|
||||||
DomainModifierLoc = "[`LOC`](functions/domain/LOC.md)"
|
DomainModifierLoc = "[`LOC`](language-reference/domain-modifiers/LOC.md)"
|
||||||
...
|
...
|
||||||
)
|
)
|
||||||
matrix := &FeatureMatrix{
|
matrix := &FeatureMatrix{
|
||||||
@ -153,7 +153,7 @@ example we removed `providers.CanUseCAA` from the
|
|||||||
|
|
||||||
Add a function to `pkg/js/helpers.js` for the new record type. This
|
Add a function to `pkg/js/helpers.js` for the new record type. This
|
||||||
is the JavaScript file that defines `dnsconfig.js`'s functions like
|
is the JavaScript file that defines `dnsconfig.js`'s functions like
|
||||||
[`A()`](functions/domain/A.md) and [`MX()`](functions/domain/MX.md). Look at the definition of `A`, `MX` and `CAA` for good
|
[`A()`](language-reference/domain-modifiers/A.md) and [`MX()`](language-reference/domain-modifiers/MX.md). Look at the definition of `A`, `MX` and `CAA` for good
|
||||||
examples to use as a base.
|
examples to use as a base.
|
||||||
|
|
||||||
Please add the function alphabetically with the others. Also, please run
|
Please add the function alphabetically with the others. Also, please run
|
||||||
@ -292,7 +292,7 @@ tests, please ask!
|
|||||||
|
|
||||||
## Step 8: Write documentation
|
## Step 8: Write documentation
|
||||||
|
|
||||||
Add a new Markdown file to `documentation/functions/domain`. Copy an existing file (`CNAME.md` is a good example). The section between the lines of `---` is called the front matter and it has the following keys:
|
Add a new Markdown file to `documentation/language-reference/domain-modifiers`. Copy an existing file (`CNAME.md` is a good example). The section between the lines of `---` is called the front matter and it has the following keys:
|
||||||
|
|
||||||
- `name`: The name of the record. This should match the file name and the name of the record in `helpers.js`.
|
- `name`: The name of the record. This should match the file name and the name of the record in `helpers.js`.
|
||||||
- `parameters`: A list of parameter names, in order. Feel free to use spaces in the name if necessary. Your last parameter should be `modifiers...` to allow arbitrary modifiers like `TTL` to be applied to your record.
|
- `parameters`: A list of parameter names, in order. Feel free to use spaces in the name if necessary. Your last parameter should be `modifiers...` to allow arbitrary modifiers like `TTL` to be applied to your record.
|
||||||
@ -307,24 +307,24 @@ Add the new file `FOO.md` to the documentation table of contents [`documentation
|
|||||||
...
|
...
|
||||||
* Domain Modifiers
|
* Domain Modifiers
|
||||||
...
|
...
|
||||||
* [DnsProvider](functions/domain/DnsProvider.md)
|
* [DnsProvider](language-reference/domain-modifiers/DnsProvider.md)
|
||||||
+ * [FOO](functions/domain/FOO.md)
|
+ * [FOO](language-reference/domain-modifiers/FOO.md)
|
||||||
* [FRAME](functions/domain/FRAME.md)
|
* [FRAME](language-reference/domain-modifiers/FRAME.md)
|
||||||
...
|
...
|
||||||
* Service Provider specific
|
* Service Provider specific
|
||||||
...
|
...
|
||||||
* ClouDNS
|
* ClouDNS
|
||||||
* [CLOUDNS_WR](functions/domain/CLOUDNS_WR.md)
|
* [CLOUDNS_WR](language-reference/domain-modifiers/CLOUDNS_WR.md)
|
||||||
+ * ASDF
|
+ * ASDF
|
||||||
+ * [ASDF_NINJA](function/domain/ASDF_NINJA.md)
|
+ * [ASDF_NINJA](language-reference/domain-modifiers/ASDF_NINJA.md)
|
||||||
* NS1
|
* NS1
|
||||||
* [NS1_URLFWD](functions/domain/NS1_URLFWD.md)
|
* [NS1_URLFWD](language-reference/domain-modifiers/NS1_URLFWD.md)
|
||||||
...
|
...
|
||||||
* Record Modifiers
|
* Record Modifiers
|
||||||
...
|
...
|
||||||
* [DMARC_BUILDER](functions/domain/DMARC_BUILDER.md)
|
* [DMARC_BUILDER](language-reference/domain-modifiers/DMARC_BUILDER.md)
|
||||||
+ * [FOO_HELPER](functions/record/FOO_HELPER.md)
|
+ * [FOO_HELPER](language-reference/record-modifiers/FOO_HELPER.md)
|
||||||
* [SPF_BUILDER](functions/domain/SPF_BUILDER.md)
|
* [SPF_BUILDER](language-reference/domain-modifiers/SPF_BUILDER.md)
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
@ -4,10 +4,10 @@ Problem: It is difficult to get CAA and other records exactly right.
|
|||||||
|
|
||||||
Solution: Use a "builder" to construct it for you.
|
Solution: Use a "builder" to construct it for you.
|
||||||
|
|
||||||
* [CAA Builder](functions/domain/CAA_BUILDER.md)
|
* [CAA Builder](language-reference/domain-modifiers/CAA_BUILDER.md)
|
||||||
* [DMARC Builder](functions/domain/DMARC_BUILDER.md)
|
* [DMARC Builder](language-reference/domain-modifiers/DMARC_BUILDER.md)
|
||||||
* [M365_BUILDER](functions/domain/M365_BUILDER.md)
|
* [M365_BUILDER](language-reference/domain-modifiers/M365_BUILDER.md)
|
||||||
* [SPF Optimizer](functions/domain/SPF_BUILDER.md)
|
* [SPF Optimizer](language-reference/domain-modifiers/SPF_BUILDER.md)
|
||||||
|
|
||||||
# Trailing commas
|
# Trailing commas
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ Because the DNSControl JavaScript DSL has no trailing commas, you can use the `E
|
|||||||
**NOTE**: `END` is just an alias for `{}`, which is ignored by DNSControl.
|
**NOTE**: `END` is just an alias for `{}`, which is ignored by DNSControl.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Let's take an example with domain: `example.com`. We have recorded the [A-record](functions/domain/A.md) 'foo' configured.
|
Let's take an example with domain: `example.com`. We have recorded the [A-record](language-reference/domain-modifiers/A.md) 'foo' configured.
|
||||||
|
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
||||||
```javascript
|
```javascript
|
||||||
@ -31,7 +31,7 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
|
|||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
Let's say we want to add an [A record](functions/domain/A.md) 'bar' to this domain.
|
Let's say we want to add an [A record](language-reference/domain-modifiers/A.md) 'bar' to this domain.
|
||||||
|
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
||||||
```javascript
|
```javascript
|
||||||
@ -221,5 +221,5 @@ domain exists, who requested it, any associated ticket numbers, and so
|
|||||||
on.
|
on.
|
||||||
|
|
||||||
We also comment the individual parts of a record. Look at the [SPF
|
We also comment the individual parts of a record. Look at the [SPF
|
||||||
Optimizer](functions/domain/SPF_BUILDER.md) example. Each part of
|
Optimizer](language-reference/domain-modifiers/SPF_BUILDER.md) example. Each part of
|
||||||
the SPF record has a comment.
|
the SPF record has a comment.
|
||||||
|
@ -51,7 +51,7 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_R53),
|
|||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
**NOTE**: The [`IP()`](functions/global/IP.md) function doesn't currently support IPv6 (PRs welcome!). IPv6 addresses are strings.
|
**NOTE**: The [`IP()`](language-reference/top-level-functions/IP.md) function doesn't currently support IPv6 (PRs welcome!). IPv6 addresses are strings.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
||||||
```javascript
|
```javascript
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
---
|
|
||||||
name: R53_ZONE
|
|
||||||
parameters:
|
|
||||||
- zone_id
|
|
||||||
parameter_types:
|
|
||||||
zone_id: string
|
|
||||||
ts_return: DomainModifier & RecordModifier
|
|
||||||
provider: ROUTE53
|
|
||||||
---
|
|
||||||
|
|
||||||
`R53_ZONE` lets you specify the AWS Zone ID for an entire domain ([`D()`](../global/D.md)) or a specific [`R53_ALIAS()`](../domain/R53_ALIAS.md) record.
|
|
||||||
|
|
||||||
When used with [`D()`](../global/D.md), it sets the zone id of the domain. This can be used to differentiate between split horizon domains in public and private zones. See this [example](../../providers/route53.md#split-horizon) in the [Amazon Route 53 provider page](../../providers/route53.md).
|
|
||||||
|
|
||||||
When used with [`R53_ALIAS()`](../domain/R53_ALIAS.md) it sets the required Route53 hosted zone id in a R53_ALIAS record. See [`R53_ALIAS()`](../domain/R53_ALIAS.md) documentation for details.
|
|
@ -18,7 +18,7 @@ Take advantage of the advanced features. Use macros and variables for easier upd
|
|||||||
* Supports 35+ [DNS Providers](providers.md) including [BIND](providers/bind.md), [AWS Route 53](providers/route53.md), [Google DNS](providers/gcloud.md), and [name.com](providers/namedotcom.md).
|
* Supports 35+ [DNS Providers](providers.md) including [BIND](providers/bind.md), [AWS Route 53](providers/route53.md), [Google DNS](providers/gcloud.md), and [name.com](providers/namedotcom.md).
|
||||||
* [Apply CI/CD principles](ci-cd-gitlab.md) to DNS: Unit-tests, system-tests, automated deployment.
|
* [Apply CI/CD principles](ci-cd-gitlab.md) to DNS: Unit-tests, system-tests, automated deployment.
|
||||||
* All the benefits of Git (or any VCS) for your DNS zone data. View history. Accept PRs.
|
* All the benefits of Git (or any VCS) for your DNS zone data. View history. Accept PRs.
|
||||||
* Optimize DNS with [SPF optimizer](functions/domain/SPF_BUILDER.md). Detect too many lookups. Flatten includes.
|
* Optimize DNS with [SPF optimizer](language-reference/domain-modifiers/SPF_BUILDER.md). Detect too many lookups. Flatten includes.
|
||||||
* Runs on Linux, Windows, Mac, or any operating system supported by Go.
|
* Runs on Linux, Windows, Mac, or any operating system supported by Go.
|
||||||
* Enable/disable Cloudflare proxying (the "orange cloud" button) directly from your DNSControl files.
|
* Enable/disable Cloudflare proxying (the "orange cloud" button) directly from your DNSControl files.
|
||||||
* [Assign an IP address to a constant](examples.md#variables-for-common-ip-addresses) and use the variable name throughout the configuration. Need to change the IP address globally? Just change the variable and "recompile".
|
* [Assign an IP address to a constant](examples.md#variables-for-common-ip-addresses) and use the variable name throughout the configuration. Need to change the IP address globally? Just change the variable and "recompile".
|
||||||
|
@ -12,7 +12,7 @@ parameter_types:
|
|||||||
|
|
||||||
A adds an A record To a domain. The name should be the relative label for the record. Use `@` for the domain apex.
|
A adds an A record To a domain. The name should be the relative label for the record. Use `@` for the domain apex.
|
||||||
|
|
||||||
The address should be an ip address, either a string, or a numeric value obtained via [IP](../global/IP.md).
|
The address should be an ip address, either a string, or a numeric value obtained via [IP](../top-level-functions/IP.md).
|
||||||
|
|
||||||
Modifiers can be any number of [record modifiers](https://docs.dnscontrol.org/language-reference/record-modifiers) or JSON objects, which will be merged into the record's metadata.
|
Modifiers can be any number of [record modifiers](https://docs.dnscontrol.org/language-reference/record-modifiers) or JSON objects, which will be merged into the record's metadata.
|
||||||
|
|
@ -20,7 +20,7 @@ parameter_types:
|
|||||||
---
|
---
|
||||||
|
|
||||||
DNSControl contains a `CAA_BUILDER` which can be used to simply create
|
DNSControl contains a `CAA_BUILDER` which can be used to simply create
|
||||||
[`CAA()`](../domain/CAA.md) records for your domains. Instead of creating each [`CAA()`](../domain/CAA.md) record
|
[`CAA()`](../domain-modifiers/CAA.md) records for your domains. Instead of creating each [`CAA()`](../domain-modifiers/CAA.md) record
|
||||||
individually, you can simply configure your report mail address, the
|
individually, you can simply configure your report mail address, the
|
||||||
authorized certificate authorities and the builder cares about the rest.
|
authorized certificate authorities and the builder cares about the rest.
|
||||||
|
|
@ -9,7 +9,7 @@ safety check for the entire domain.
|
|||||||
It replaces the per-record `IGNORE_NAME_DISABLE_SAFETY_CHECK()` which is
|
It replaces the per-record `IGNORE_NAME_DISABLE_SAFETY_CHECK()` which is
|
||||||
deprecated as of DNSControl v4.0.0.0.
|
deprecated as of DNSControl v4.0.0.0.
|
||||||
|
|
||||||
See [`IGNORE()`](../domain/IGNORE.md) for more information.
|
See [`IGNORE()`](../domain-modifiers/IGNORE.md) for more information.
|
||||||
|
|
||||||
## Syntax
|
## Syntax
|
||||||
|
|
@ -6,10 +6,10 @@ parameter_types:
|
|||||||
ttl: Duration
|
ttl: Duration
|
||||||
---
|
---
|
||||||
|
|
||||||
DefaultTTL sets the TTL for all subsequent records following it in a domain that do not explicitly set one with [`TTL`](../record/TTL.md). If neither `DefaultTTL` or `TTL` exist for a record,
|
DefaultTTL sets the TTL for all subsequent records following it in a domain that do not explicitly set one with [`TTL`](../record-modifiers/TTL.md). If neither `DefaultTTL` or `TTL` exist for a record,
|
||||||
the record will inherit the DNSControl global internal default of 300 seconds. See also [`DEFAULTS`](../global/DEFAULTS.md) to override the internal defaults.
|
the record will inherit the DNSControl global internal default of 300 seconds. See also [`DEFAULTS`](../top-level-functions/DEFAULTS.md) to override the internal defaults.
|
||||||
|
|
||||||
NS records are currently a special case, and do not inherit from `DefaultTTL`. See [`NAMESERVER_TTL`](../domain/NAMESERVER_TTL.md) to set a default TTL for all NS records.
|
NS records are currently a special case, and do not inherit from `DefaultTTL`. See [`NAMESERVER_TTL`](../domain-modifiers/NAMESERVER_TTL.md) to set a default TTL for all NS records.
|
||||||
|
|
||||||
|
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
||||||
@ -22,5 +22,5 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
|
|||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
The DefaultTTL duration is the same format as [`TTL`](../record/TTL.md), an integer number of seconds
|
The DefaultTTL duration is the same format as [`TTL`](../record-modifiers/TTL.md), an integer number of seconds
|
||||||
or a string with a unit such as `"4d"`.
|
or a string with a unit such as `"4d"`.
|
@ -9,7 +9,7 @@ parameter_types:
|
|||||||
---
|
---
|
||||||
|
|
||||||
DnsProvider indicates that the specified provider should be used to manage
|
DnsProvider indicates that the specified provider should be used to manage
|
||||||
records for this domain. The name must match the name used with [NewDnsProvider](../global/NewDnsProvider.md).
|
records for this domain. The name must match the name used with [NewDnsProvider](../top-level-functions/NewDnsProvider.md).
|
||||||
|
|
||||||
The nsCount parameter determines how the nameservers will be managed from this provider.
|
The nsCount parameter determines how the nameservers will be managed from this provider.
|
||||||
|
|
@ -26,11 +26,11 @@ records.
|
|||||||
|
|
||||||
Technically `IGNORE_NAME` is a promise that DNSControl will not modify or
|
Technically `IGNORE_NAME` is a promise that DNSControl will not modify or
|
||||||
delete existing records that match particular patterns. It is like
|
delete existing records that match particular patterns. It is like
|
||||||
[`NO_PURGE`](../domain/NO_PURGE.md) that matches only specific records.
|
[`NO_PURGE`](../domain-modifiers/NO_PURGE.md) that matches only specific records.
|
||||||
|
|
||||||
Including a record that is ignored is considered an error and may have
|
Including a record that is ignored is considered an error and may have
|
||||||
undefined behavior. This safety check can be disabled using the
|
undefined behavior. This safety check can be disabled using the
|
||||||
[`DISABLE_IGNORE_SAFETY_CHECK`](../domain/DISABLE_IGNORE_SAFETY_CHECK.md) feature.
|
[`DISABLE_IGNORE_SAFETY_CHECK`](../domain-modifiers/DISABLE_IGNORE_SAFETY_CHECK.md) feature.
|
||||||
|
|
||||||
## Syntax
|
## Syntax
|
||||||
|
|
||||||
@ -45,7 +45,7 @@ IGNORE(labelSpec):
|
|||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
* `labelSpec` is a glob that matches the DNS label. For example `"foo"` or `"foo*"`. `"*"` matches all labels, as does the empty string (`""`).
|
* `labelSpec` is a glob that matches the DNS label. For example `"foo"` or `"foo*"`. `"*"` matches all labels, as does the empty string (`""`).
|
||||||
* `typeSpec` is a comma-separated list of DNS types. For example `"A"` matches DNS A records, `"A,CNAME"` matches both A and CNAME records. `"*"` matches any DNS type, as does the empty string (`""`).
|
* `typeSpec` is a comma-separated list of DNS types. For example `"A"` matches DNS A records, `"A,CNAME"` matches both A and CNAME records. `"*"` matches any DNS type, as does the empty string (`""`).
|
||||||
* `targetSpec` is a glob that matches the DNS target. For example `"foo"` or `"foo*"`. `"*"` matches all targets, as does the empty string (`""`).
|
* `targetSpec` is a glob that matches the DNS target. For example `"foo"` or `"foo*"`. `"*"` matches all targets, as does the empty string (`""`).
|
||||||
|
|
||||||
`typeSpec` and `targetSpec` default to `"*"` if they are omitted.
|
`typeSpec` and `targetSpec` default to `"*"` if they are omitted.
|
@ -10,7 +10,7 @@ parameter_types:
|
|||||||
|
|
||||||
NAMESERVER_TTL sets the TTL on the domain apex NS RRs defined by [`NAMESERVER`](NAMESERVER.md).
|
NAMESERVER_TTL sets the TTL on the domain apex NS RRs defined by [`NAMESERVER`](NAMESERVER.md).
|
||||||
|
|
||||||
The value can be an integer or a string. See [`TTL`](../record/TTL.md) for examples.
|
The value can be an integer or a string. See [`TTL`](../record-modifiers/TTL.md) for examples.
|
||||||
|
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
||||||
```javascript
|
```javascript
|
||||||
@ -36,4 +36,4 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
|
|||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
To apply a default TTL to all other record types, see [`DefaultTTL`](../domain/DefaultTTL.md)
|
To apply a default TTL to all other record types, see [`DefaultTTL`](../domain-modifiers/DefaultTTL.md)
|
@ -53,7 +53,7 @@ are all equivalent:
|
|||||||
* `PTR("4.3", ...` // Assuming the domain is `2.1.in-addr.arpa`
|
* `PTR("4.3", ...` // Assuming the domain is `2.1.in-addr.arpa`
|
||||||
|
|
||||||
All magic is RFC2317-aware. We use the first format listed in the
|
All magic is RFC2317-aware. We use the first format listed in the
|
||||||
RFC for both [`REV()`](../global/REV.md) and `PTR()`. The format is
|
RFC for both [`REV()`](../top-level-functions/REV.md) and `PTR()`. The format is
|
||||||
`FIRST/MASK.C.B.A.in-addr.arpa` where `FIRST` is the first IP address
|
`FIRST/MASK.C.B.A.in-addr.arpa` where `FIRST` is the first IP address
|
||||||
of the zone, `MASK` is the netmask of the zone (25-31 inclusive),
|
of the zone, `MASK` is the netmask of the zone (25-31 inclusive),
|
||||||
and A, B, C are the first 3 octets of the IP address. For example
|
and A, B, C are the first 3 octets of the IP address. For example
|
@ -29,7 +29,7 @@ The Target can be any of:
|
|||||||
* _S3 bucket_ (configured as website): specify the domain name of the Amazon S3 website endpoint in which you configured the bucket (for instance s3-website-us-east-2.amazonaws.com). For the available values refer to the [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
|
* _S3 bucket_ (configured as website): specify the domain name of the Amazon S3 website endpoint in which you configured the bucket (for instance s3-website-us-east-2.amazonaws.com). For the available values refer to the [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
|
||||||
* _Another Route53 record_: specify the value of the name of another record in the same hosted zone.
|
* _Another Route53 record_: specify the value of the name of another record in the same hosted zone.
|
||||||
|
|
||||||
For all the target type, excluding 'another record', you have to specify the `Zone ID` of the target. This is done by using the [`R53_ZONE`](../record/R53_ZONE.md) record modifier.
|
For all the target type, excluding 'another record', you have to specify the `Zone ID` of the target. This is done by using the [`R53_ZONE`](../record-modifiers/R53_ZONE.md) record modifier.
|
||||||
|
|
||||||
The zone id can be found depending on the target type:
|
The zone id can be found depending on the target type:
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ The zone id can be found depending on the target type:
|
|||||||
* _S3 bucket_ (configured as website): specify the hosted zone ID for the region that you created the bucket in. You can find it in [the List of regions and hosted Zone IDs](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
|
* _S3 bucket_ (configured as website): specify the hosted zone ID for the region that you created the bucket in. You can find it in [the List of regions and hosted Zone IDs](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
|
||||||
* _Another Route 53 record_: you can either specify the correct zone id or do not specify anything and DNSControl will figure out the right zone id. (Note: Route53 alias can't reference a record in a different zone).
|
* _Another Route 53 record_: you can either specify the correct zone id or do not specify anything and DNSControl will figure out the right zone id. (Note: Route53 alias can't reference a record in a different zone).
|
||||||
|
|
||||||
Target health evaluation can be enabled with the [`R53_EVALUATE_TARGET_HEALTH`](../record/R53\_EVALUATE\_TARGET\_HEALTH.md) record modifier.
|
Target health evaluation can be enabled with the [`R53_EVALUATE_TARGET_HEALTH`](../record-modifiers/R53\_EVALUATE\_TARGET\_HEALTH.md) record modifier.
|
||||||
|
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
||||||
```javascript
|
```javascript
|
@ -87,7 +87,7 @@ double quotes, back-ticks, or other chars.
|
|||||||
|
|
||||||
#### How can you tell if a provider will support a particular `TXT()` record?
|
#### How can you tell if a provider will support a particular `TXT()` record?
|
||||||
|
|
||||||
Include the `TXT()` record in a [`D()`](../global/D.md) as usual, along
|
Include the `TXT()` record in a [`D()`](../top-level-functions/D.md) as usual, along
|
||||||
with the `DnsProvider()` for that provider. Run `dnscontrol check` to
|
with the `DnsProvider()` for that provider. Run `dnscontrol check` to
|
||||||
see if any errors are produced. The check command does not talk to
|
see if any errors are produced. The check command does not talk to
|
||||||
the provider's API, thus permitting you to do this without having an
|
the provider's API, thus permitting you to do this without having an
|
@ -8,4 +8,4 @@ ts_return: RecordModifier
|
|||||||
provider: ROUTE53
|
provider: ROUTE53
|
||||||
---
|
---
|
||||||
|
|
||||||
`R53_EVALUATE_TARGET_HEALTH` lets you enable target health evaluation for a [`R53_ALIAS()`](../domain/R53_ALIAS.md) record. Omitting `R53_EVALUATE_TARGET_HEALTH()` from `R53_ALIAS()` set the behavior to false.
|
`R53_EVALUATE_TARGET_HEALTH` lets you enable target health evaluation for a [`R53_ALIAS()`](../domain-modifiers/R53_ALIAS.md) record. Omitting `R53_EVALUATE_TARGET_HEALTH()` from `R53_ALIAS()` set the behavior to false.
|
@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
name: R53_ZONE
|
||||||
|
parameters:
|
||||||
|
- zone_id
|
||||||
|
parameter_types:
|
||||||
|
zone_id: string
|
||||||
|
ts_return: DomainModifier & RecordModifier
|
||||||
|
provider: ROUTE53
|
||||||
|
---
|
||||||
|
|
||||||
|
`R53_ZONE` lets you specify the AWS Zone ID for an entire domain ([`D()`](../top-level-functions/D.md)) or a specific [`R53_ALIAS()`](../domain-modifiers/R53_ALIAS.md) record.
|
||||||
|
|
||||||
|
When used with [`D()`](../top-level-functions/D.md), it sets the zone id of the domain. This can be used to differentiate between split horizon domains in public and private zones. See this [example](../../providers/route53.md#split-horizon) in the [Amazon Route 53 provider page](../../providers/route53.md).
|
||||||
|
|
||||||
|
When used with [`R53_ALIAS()`](../domain-modifiers/R53_ALIAS.md) it sets the required Route53 hosted zone id in a R53_ALIAS record. See [`R53_ALIAS()`](../domain-modifiers/R53_ALIAS.md) documentation for details.
|
@ -7,7 +7,7 @@ parameter_types:
|
|||||||
---
|
---
|
||||||
|
|
||||||
TTL sets the TTL for a single record only. This will take precedence
|
TTL sets the TTL for a single record only. This will take precedence
|
||||||
over the domain's [DefaultTTL](../domain/DefaultTTL.md) if supplied.
|
over the domain's [DefaultTTL](../domain-modifiers/DefaultTTL.md) if supplied.
|
||||||
|
|
||||||
The value can be:
|
The value can be:
|
||||||
|
|
@ -12,11 +12,11 @@ parameter_types:
|
|||||||
|
|
||||||
`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
|
`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
|
||||||
name of the registrar (as previously declared with [NewRegistrar](NewRegistrar.md)). Any number of additional arguments may be included to add DNS Providers with [DNSProvider](NewDnsProvider.md),
|
name of the registrar (as previously declared with [NewRegistrar](NewRegistrar.md)). Any number of additional arguments may be included to add DNS Providers with [DNSProvider](NewDnsProvider.md),
|
||||||
add records with [A](../domain/A.md), [CNAME](../domain/CNAME.md), and so forth, or add metadata.
|
add records with [A](../domain-modifiers/A.md), [CNAME](../domain-modifiers/CNAME.md), and so forth, or add metadata.
|
||||||
|
|
||||||
Modifier arguments are processed according to type as follows:
|
Modifier arguments are processed according to type as follows:
|
||||||
|
|
||||||
- A function argument will be called with the domain object as it's only argument. Most of the [built-in modifier functions](https://docs.dnscontrol.org/language-reference/domain-modifiers) return such functions.
|
- A function argument will be called with the domain object as it's only argument. Most of the [built-in modifier functions](https://docs.dnscontrol.org/language-reference/domain-modifiers-modifiers) return such functions.
|
||||||
- An object argument will be merged into the domain's metadata collection.
|
- An object argument will be merged into the domain's metadata collection.
|
||||||
- An array argument will have all of it's members evaluated recursively. This allows you to combine multiple common records or modifiers into a variable that can
|
- An array argument will have all of it's members evaluated recursively. This allows you to combine multiple common records or modifiers into a variable that can
|
||||||
be used like a macro in multiple domains.
|
be used like a macro in multiple domains.
|
@ -11,7 +11,7 @@ arguments passed as if they were the first modifiers in the argument list.
|
|||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
We want to create backup zone files for all domains, but not actually register them. Also create a [`DefaultTTL`](../domain/DefaultTTL.md).
|
We want to create backup zone files for all domains, but not actually register them. Also create a [`DefaultTTL`](../domain-modifiers/DefaultTTL.md).
|
||||||
The domain `example.com` will have the defaults set.
|
The domain `example.com` will have the defaults set.
|
||||||
|
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
@ -40,6 +40,6 @@ D("example.com", REG_MY_PROVIDER, DnsProvider(DSP_MY_PROVIDER),
|
|||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
**NOTE**: The [`NO_PURGE`](../domain/NO_PURGE.md) is used out of abundance of caution but since no
|
**NOTE**: The [`NO_PURGE`](../domain-modifiers/NO_PURGE.md) is used out of abundance of caution but since no
|
||||||
`DnsProvider()` statements exist, no updates would be performed.
|
`DnsProvider()` statements exist, no updates would be performed.
|
||||||
{% endhint %}
|
{% endhint %}
|
@ -44,5 +44,5 @@ D("example.com", REG_NAMEDOTCOM,
|
|||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
**NOTE**: The [`NO_PURGE`](../domain/NO_PURGE.md) is used to prevent DNSControl from changing the records.
|
**NOTE**: The [`NO_PURGE`](../domain-modifiers/NO_PURGE.md) is used to prevent DNSControl from changing the records.
|
||||||
{% endhint %}
|
{% endhint %}
|
@ -29,7 +29,7 @@ defined as separate domains via separate [`D()`](D.md) statements, then
|
|||||||
not `domain.tld`.
|
not `domain.tld`.
|
||||||
|
|
||||||
Some operators only act on an apex domain (e.g.
|
Some operators only act on an apex domain (e.g.
|
||||||
[`CF_REDIRECT`](../domain/CF_REDIRECT.md) and [`CF_TEMP_REDIRECT`](../domain/CF_TEMP_REDIRECT.md)). Using them
|
[`CF_REDIRECT`](../domain-modifiers/CF_REDIRECT.md) and [`CF_TEMP_REDIRECT`](../domain-modifiers/CF_TEMP_REDIRECT.md)). Using them
|
||||||
in a `D_EXTEND` subdomain may not be what you expect.
|
in a `D_EXTEND` subdomain may not be what you expect.
|
||||||
|
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
@ -28,7 +28,7 @@ Notifications are set up in your credentials JSON file. They will use the `notif
|
|||||||
|
|
||||||
If you want to send a notification, add the `--notify` flag to the `dnscontrol preview` or `dnscontrol push` commands.
|
If you want to send a notification, add the `--notify` flag to the `dnscontrol preview` or `dnscontrol push` commands.
|
||||||
|
|
||||||
Below is an example where we add [the A record](functions/domain/A.md) `foo` and display the notification output.
|
Below is an example where we add [the A record](language-reference/domain-modifiers/A.md) `foo` and display the notification output.
|
||||||
|
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
||||||
```diff
|
```diff
|
||||||
|
@ -12,8 +12,8 @@ a provider that supports it, we'd love your contribution to ensure it works corr
|
|||||||
If a feature is definitively not supported for whatever reason, we would also like a PR to clarify why it is not supported, and fill in this entire matrix.
|
If a feature is definitively not supported for whatever reason, we would also like a PR to clarify why it is not supported, and fill in this entire matrix.
|
||||||
|
|
||||||
<!-- provider-matrix-start -->
|
<!-- provider-matrix-start -->
|
||||||
| Provider name | Official Support | DNS Provider | Registrar | Concurrency Verified | [`ALIAS`](functions/domain/ALIAS.md) | [`CAA`](functions/domain/CAA.md) | [`AUTODNSSEC`](functions/domain/AUTODNSSEC_ON.md) | [`LOC`](functions/domain/LOC.md) | [`NAPTR`](functions/domain/NAPTR.md) | [`PTR`](functions/domain/PTR.md) | [`SOA`](functions/domain/SOA.md) | [`SRV`](functions/domain/SRV.md) | [`SSHFP`](functions/domain/SSHFP.md) | [`TLSA`](functions/domain/TLSA.md) | [`DS`](functions/domain/DS.md) | [`DHCID`](functions/domain/DHCID.md) | [`DNAME`](functions/domain/DNAME.md) | dual host | create-domains | get-zones |
|
| Provider name | Official Support | DNS Provider | Registrar | Concurrency Verified | [`ALIAS`](language-reference/domain-modifiers/ALIAS.md) | [`CAA`](language-reference/domain-modifiers/CAA.md) | [`AUTODNSSEC`](language-reference/domain-modifiers/AUTODNSSEC_ON.md) | [`LOC`](language-reference/domain-modifiers/LOC.md) | [`NAPTR`](language-reference/domain-modifiers/NAPTR.md) | [`PTR`](language-reference/domain-modifiers/PTR.md) | [`SOA`](language-reference/domain-modifiers/SOA.md) | [`SRV`](language-reference/domain-modifiers/SRV.md) | [`SSHFP`](language-reference/domain-modifiers/SSHFP.md) | [`TLSA`](language-reference/domain-modifiers/TLSA.md) | [`DS`](language-reference/domain-modifiers/DS.md) | [`DHCID`](language-reference/domain-modifiers/DHCID.md) | [`DNAME`](language-reference/domain-modifiers/DNAME.md) | dual host | create-domains | get-zones |
|
||||||
| ------------- | ---------------- | ------------ | --------- | -------------------- | ------------------------------------ | -------------------------------- | ------------------------------------------------- | -------------------------------- | ------------------------------------ | -------------------------------- | -------------------------------- | -------------------------------- | ------------------------------------ | ---------------------------------- | ------------------------------ | ------------------------------------ | ------------------------------------ | --------- | -------------- | --------- |
|
| ------------- | ---------------- | ------------ | --------- | -------------------- | ------------------------------------------------------- | --------------------------------------------------- | -------------------------------------------------------------------- | --------------------------------------------------- | ------------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | ------------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | --------- | -------------- | --------- |
|
||||||
| [`AKAMAIEDGEDNS`](providers/akamaiedgedns.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ |
|
| [`AKAMAIEDGEDNS`](providers/akamaiedgedns.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ |
|
||||||
| [`AUTODNS`](providers/autodns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❔ | ❔ | ❌ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ |
|
| [`AUTODNS`](providers/autodns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❔ | ❔ | ❌ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ |
|
||||||
| [`AXFRDDNS`](providers/axfrddns.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ✅ | ❔ | ❌ | ❌ | ❌ |
|
| [`AXFRDDNS`](providers/axfrddns.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ✅ | ❔ | ❌ | ❌ | ❌ |
|
||||||
|
@ -80,10 +80,10 @@ D("example.com", REG_NONE, DnsProvider(DSP_R53),
|
|||||||
|
|
||||||
## Split horizon
|
## Split horizon
|
||||||
|
|
||||||
This provider supports split horizons using the [`R53_ZONE()`](../functions/record/R53_ZONE.md) domain function.
|
This provider supports split horizons using the [`R53_ZONE()`](../language-reference/record-modifiers/R53_ZONE.md) domain function.
|
||||||
|
|
||||||
In this example the domain `testzone.net` appears in the same account twice,
|
In this example the domain `testzone.net` appears in the same account twice,
|
||||||
each with different zone IDs specified using [`R53_ZONE()`](../functions/record/R53_ZONE.md).
|
each with different zone IDs specified using [`R53_ZONE()`](../language-reference/record-modifiers/R53_ZONE.md).
|
||||||
|
|
||||||
{% code title="dnsconfig.js" %}
|
{% code title="dnsconfig.js" %}
|
||||||
```javascript
|
```javascript
|
||||||
|
@ -64,7 +64,7 @@ TransIP depends on a TransIP personal access token.
|
|||||||
|
|
||||||
> "When multiple or none of the current DNS entries matches, the response will be an error with http status code 406." — _[TransIP - REST API - Update single DNS entry](https://api.transip.nl/rest/docs.html#domains-dns-patch)_
|
> "When multiple or none of the current DNS entries matches, the response will be an error with http status code 406." — _[TransIP - REST API - Update single DNS entry](https://api.transip.nl/rest/docs.html#domains-dns-patch)_
|
||||||
|
|
||||||
This makes it not possible, for example, to update a [`CAA()`](../functions/domain/CAA.md) record in one update. Instead, the old DNS entry is deleted and the replacement is added. You'll see `[1/2]` and `[2/2]` in the DNSControl output whenever this happens.
|
This makes it not possible, for example, to update a [`CAA()`](../language-reference/domain-modifiers/CAA.md) record in one update. Instead, the old DNS entry is deleted and the replacement is added. You'll see `[1/2]` and `[2/2]` in the DNSControl output whenever this happens.
|
||||||
|
|
||||||
### Example with a `CAA_BUILDER()`
|
### Example with a `CAA_BUILDER()`
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ Within the git repo, docs are grouped:
|
|||||||
|
|
||||||
* [`documentation/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation): general docs
|
* [`documentation/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation): general docs
|
||||||
* [`documentation/providers/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation/providers/): One file per provider
|
* [`documentation/providers/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation/providers/): One file per provider
|
||||||
* [`documentation/functions/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation/functions/): One file per `dnsconfig.js` language feature
|
* [`documentation/language-reference/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation/language-reference/): One file per `dnsconfig.js` language feature
|
||||||
* [`documentation/assets/FOO/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation/assets/): Images for page FOO(PNGs only, please!)
|
* [`documentation/assets/FOO/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation/assets/): Images for page FOO(PNGs only, please!)
|
||||||
|
|
||||||
## How to add a new page?
|
## How to add a new page?
|
||||||
@ -33,10 +33,10 @@ Within the git repo, docs are grouped:
|
|||||||
|
|
||||||
## Top-of-Document parameters
|
## Top-of-Document parameters
|
||||||
|
|
||||||
Files in the `documentation/functions/{record,domain,global}` subdirectories
|
Files in the `documentation/language-reference/{record,domain,global}` subdirectories
|
||||||
have a header at the top that is used to populate other systems.
|
have a header at the top that is used to populate other systems.
|
||||||
|
|
||||||
Here's an example from [`A`](functions/domain/A.md)
|
Here's an example from [`A`](language-reference/domain-modifiers/A.md)
|
||||||
|
|
||||||
```
|
```
|
||||||
---
|
---
|
||||||
@ -193,7 +193,7 @@ However, the first mention on a page should always
|
|||||||
be a link. Others are at the authors digression.
|
be a link. Others are at the authors digression.
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
The [`PTR`](functions/domain/PTR.md) feature is helpful in LANs.
|
The [`PTR`](language-reference/domain-modifiers/PTR.md) feature is helpful in LANs.
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Mentioning functions from the Source code
|
#### Mentioning functions from the Source code
|
||||||
@ -207,7 +207,7 @@ The function `GetRegistrarCorrections()` returns...
|
|||||||
#### Internal links
|
#### Internal links
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
Blah blah blah [M365_BUILDER](functions/domain/M365_BUILDER.md)
|
Blah blah blah [M365_BUILDER](language-reference/domain-modifiers/M365_BUILDER.md)
|
||||||
```
|
```
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
|
@ -10,7 +10,7 @@ assigned bugs related to the provider in the future (unless
|
|||||||
you designate someone else as the maintainer). More details
|
you designate someone else as the maintainer). More details
|
||||||
[here](providers.md).
|
[here](providers.md).
|
||||||
|
|
||||||
Please follow the [DNSControl Code Style Guide](https://docs.dnscontrol.org/developer-info/styleguide-code) and the [DNSControl Documentation Style Guide](https://docs.dnscontrol.org/developer-info/styleguide-doc).
|
Please follow the [DNSControl Code Style Guide](styleguide-code.md) and the [DNSControl Documentation Style Guide](styleguide-doc.md).
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
var REG = NewRegistrar("Third-Party", "NONE");
|
var REG = NewRegistrar("Third-Party", "NONE");
|
||||||
var DNS = NewDnsProvider("Cloudflare", "CLOUDFLAREAPI");
|
var DNS = NewDnsProvider("Cloudflare", "CLOUDFLAREAPI");
|
||||||
|
|
||||||
// The example from docs/functions/global/D_EXTEND.md
|
// The example from documentation/language-reference/top-level-functions/D_EXTEND.md
|
||||||
|
|
||||||
D("domain.tld", REG, DnsProvider(DNS),
|
D("domain.tld", REG, DnsProvider(DNS),
|
||||||
A("@", "127.0.0.1"), // domain.tld
|
A("@", "127.0.0.1"), // domain.tld
|
||||||
|
Reference in New Issue
Block a user