1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

DOCS: Simplified the provider URLs (providers) (#2914)

This commit is contained in:
Jeffrey Cafferata
2024-04-18 15:43:50 +02:00
committed by GitHub
parent 0cd3c2fb92
commit 5078927e01
67 changed files with 220 additions and 168 deletions

View File

@ -38,7 +38,7 @@ func markdownTable(matrix *FeatureMatrix) (string, error) {
featureMap := matrix.Providers[providerName] featureMap := matrix.Providers[providerName]
var tableDataRow []string var tableDataRow []string
tableDataRow = append(tableDataRow, "[`"+providerName+"`](providers/"+strings.ToLower(providerName)+".md)") tableDataRow = append(tableDataRow, "[`"+providerName+"`](provider/"+strings.ToLower(providerName)+".md)")
for _, featureName := range matrix.Features { for _, featureName := range matrix.Features {
tableDataRow = append(tableDataRow, featureEmoji(featureMap, featureName)) tableDataRow = append(tableDataRow, featureEmoji(featureMap, featureName))
} }

View File

@ -2407,7 +2407,7 @@ declare function R53_EVALUATE_TARGET_HEALTH(enabled: boolean): RecordModifier;
/** /**
* `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. * `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 [`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](../../provider/route53.md#split-horizon) in the [Amazon Route 53 provider page](../../provider/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. * 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.
* *
@ -2546,7 +2546,7 @@ declare function REVCOMPAT(rfc: string): string;
* * Most providers automatically generate SOA records. They will ignore any `SOA()` statements. * * Most providers automatically generate SOA records. They will ignore any `SOA()` statements.
* * The mbox field should not be set to a real email address unless you love spam and hate your privacy. * * The mbox field should not be set to a real email address unless you love spam and hate your privacy.
* *
* There is more info about `SOA` in the documentation for the [BIND provider](../../providers/bind.md). * There is more info about `SOA` in the documentation for the [BIND provider](../../provider/bind.md).
* *
* @see https://docs.dnscontrol.org/language-reference/domain-modifiers/soa * @see https://docs.dnscontrol.org/language-reference/domain-modifiers/soa
*/ */

View File

@ -37,7 +37,7 @@
<ul class="nav navbar-nav navbar-right"> <ul class="nav navbar-nav navbar-right">
<li><a class="hidden-xs" href="https://docs.dnscontrol.org/getting-started/getting-started">Getting Started</a></li> <li><a class="hidden-xs" href="https://docs.dnscontrol.org/getting-started/getting-started">Getting Started</a></li>
<li><a class="hidden-xs" href="https://docs.dnscontrol.org/language-reference/js">Language Reference</a></li> <li><a class="hidden-xs" href="https://docs.dnscontrol.org/language-reference/js">Language Reference</a></li>
<li><a class="hidden-xs" href="https://docs.dnscontrol.org/service-providers/providers">Providers</a></li> <li><a class="hidden-xs" href="https://docs.dnscontrol.org/provider">Providers</a></li>
<li><a class="visible-xs" href="https://docs.dnscontrol.org/getting-started/getting-started">Getting Started</a></li> <li><a class="visible-xs" href="https://docs.dnscontrol.org/getting-started/getting-started">Getting Started</a></li>
<li><a class="visible-xs" href="{{site.github.url}}/#reference">Reference</a></li> <li><a class="visible-xs" href="{{site.github.url}}/#reference">Reference</a></li>
<li><a class="visible-xs" href="{{site.github.url}}/#advanced-features">Advanced features</a></li> <li><a class="visible-xs" href="{{site.github.url}}/#advanced-features">Advanced features</a></li>

View File

@ -32,7 +32,7 @@ title: DNSControl
Use macros and variables for easier updates. Use macros and variables for easier updates.
<!-- Optimize your SPF records. --> <!-- Optimize your SPF records. -->
Upload your zones to Upload your zones to
<strong><a href="https://docs.dnscontrol.org/service-providers/providers">multiple DNS providers</a></strong>. <strong><a href="https://docs.dnscontrol.org/provider">multiple DNS providers</a></strong>.
</p> </p>
</div> </div>
@ -85,7 +85,7 @@ title: DNSControl
<a href="https://docs.dnscontrol.org/getting-started/getting-started">Getting Started</a>: A walk-through of the basics <a href="https://docs.dnscontrol.org/getting-started/getting-started">Getting Started</a>: A walk-through of the basics
</li> </li>
<li> <li>
<a href="https://docs.dnscontrol.org/service-providers/providers">Providers</a>: Which DNS providers are supported <a href="https://docs.dnscontrol.org/provider">Providers</a>: Which DNS providers are supported
</li> </li>
<li> <li>
<a href="https://docs.dnscontrol.org/getting-started/examples">Examples</a>: The DNSControl language by example <a href="https://docs.dnscontrol.org/getting-started/examples">Examples</a>: The DNSControl language by example

View File

@ -0,0 +1,52 @@
redirects:
service-providers/providers: providers.md
service-providers/providers/akamaiedgedns: provider/akamaiedgedns.md
service-providers/providers/autodns: provider/autodns.md
service-providers/providers/axfrddns: provider/axfrddns.md
service-providers/providers/azure_dns: provider/azure_dns.md
service-providers/providers/azure_private_dns: provider/azure_private_dns.md
service-providers/providers/bind: provider/bind.md
service-providers/providers/bunny_dns: provider/bunny_dns.md
service-providers/providers/cloudflareapi: provider/cloudflareapi.md
service-providers/providers/cloudns: provider/cloudns.md
service-providers/providers/cscglobal: provider/cscglobal.md
service-providers/providers/desec: provider/desec.md
service-providers/providers/digitalocean: provider/digitalocean.md
service-providers/providers/dnsimple: provider/dnsimple.md
service-providers/providers/dnsmadeeasy: provider/dnsmadeeasy.md
service-providers/providers/dnsoverhttps: provider/dnsoverhttps.md
service-providers/providers/domainnameshop: provider/domainnameshop.md
service-providers/providers/dynadot: provider/dynadot.md
service-providers/providers/easyname: provider/easyname.md
service-providers/providers/exoscale: provider/exoscale.md
service-providers/providers/gandi_v5: provider/gandi_v5.md
service-providers/providers/gcloud: provider/gcloud.md
service-providers/providers/gcore: provider/gcore.md
service-providers/providers/hedns: provider/hedns.md
service-providers/providers/hetzner: provider/hetzner.md
service-providers/providers/hexonet: provider/hexonet.md
service-providers/providers/hostingde: provider/hostingde.md
service-providers/providers/internetbs: provider/internetbs.md
service-providers/providers/inwx: provider/inwx.md
service-providers/providers/linode: provider/linode.md
service-providers/providers/loopia: provider/loopia.md
service-providers/providers/luadns: provider/luadns.md
service-providers/providers/msdns: provider/msdns.md
service-providers/providers/mythicbeasts: provider/mythicbeasts.md
service-providers/providers/namecheap: provider/namecheap.md
service-providers/providers/namedotcom: provider/namedotcom.md
service-providers/providers/netcup: provider/netcup.md
service-providers/providers/netlify: provider/netlify.md
service-providers/providers/ns1: provider/ns1.md
service-providers/providers/opensrs: provider/opensrs.md
service-providers/providers/oracle: provider/oracle.md
service-providers/providers/ovh: provider/ovh.md
service-providers/providers/packetframe: provider/packetframe.md
service-providers/providers/porkbun: provider/porkbun.md
service-providers/providers/powerdns: provider/powerdns.md
service-providers/providers/realtimeregister: provider/realtimeregister.md
service-providers/providers/route53: provider/route53.md
service-providers/providers/rwth: provider/rwth.md
service-providers/providers/softlayer: provider/softlayer.md
service-providers/providers/transip: provider/transip.md
service-providers/providers/vultr: provider/vultr.md

View File

@ -8,6 +8,7 @@
* [Examples](examples.md) * [Examples](examples.md)
* [Migrating zones to DNSControl](migrating.md) * [Migrating zones to DNSControl](migrating.md)
* [TypeScript autocomplete and type checking](typescript.md) * [TypeScript autocomplete and type checking](typescript.md)
* [Providers](providers.md)
## Language Reference ## Language Reference
@ -94,59 +95,58 @@
* [R53_EVALUATE_TARGET_HEALTH](language-reference/record-modifiers/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 ## Provider
* [Providers](providers.md) * [Akamai Edge DNS](provider/akamaiedgedns.md)
* [Akamai Edge DNS](providers/akamaiedgedns.md) * [Amazon Route 53](provider/route53.md)
* [Amazon Route 53](providers/route53.md) * [AutoDNS](provider/autodns.md)
* [AutoDNS](providers/autodns.md) * [AXFR+DDNS](provider/axfrddns.md)
* [AXFR+DDNS](providers/axfrddns.md) * [Azure DNS](provider/azure_dns.md)
* [Azure DNS](providers/azure_dns.md) * [Azure Private DNS](provider/azure_private_dns.md)
* [Azure Private DNS](providers/azure_private_dns.md) * [BIND](provider/bind.md)
* [BIND](providers/bind.md) * [Bunny DNS](provider/bunny\_dns.md)
* [Bunny DNS](providers/bunny\_dns.md) * [Cloudflare](provider/cloudflareapi.md)
* [Cloudflare](providers/cloudflareapi.md) * [ClouDNS](provider/cloudns.md)
* [ClouDNS](providers/cloudns.md) * [CSC Global](provider/cscglobal.md)
* [CSC Global](providers/cscglobal.md) * [deSEC](provider/desec.md)
* [deSEC](providers/desec.md) * [DigitalOcean](provider/digitalocean.md)
* [DigitalOcean](providers/digitalocean.md) * [DNS Made Easy](provider/dnsmadeeasy.md)
* [DNS Made Easy](providers/dnsmadeeasy.md) * [DNSimple](provider/dnsimple.md)
* [DNSimple](providers/dnsimple.md) * [DNS-over-HTTPS](provider/dnsoverhttps.md)
* [DNS-over-HTTPS](providers/dnsoverhttps.md) * [DOMAINNAMESHOP](provider/domainnameshop.md)
* [DOMAINNAMESHOP](providers/domainnameshop.md) * [Dynadot](provider/dynadot.md)
* [Dynadot](providers/dynadot.md) * [easyname](provider/easyname.md)
* [easyname](providers/easyname.md) * [Exoscale](provider/exoscale.md)
* [Exoscale](providers/exoscale.md) * [Gandi_v5](provider/gandi_v5.md)
* [Gandi_v5](providers/gandi_v5.md) * [Gcore](provider/gcore.md)
* [Gcore](providers/gcore.md) * [Google Cloud DNS](provider/gcloud.md)
* [Google Cloud DNS](providers/gcloud.md) * [Hetzner DNS Console](provider/hetzner.md)
* [Hetzner DNS Console](providers/hetzner.md) * [HEXONET](provider/hexonet.md)
* [HEXONET](providers/hexonet.md) * [hosting.de](provider/hostingde.md)
* [hosting.de](providers/hostingde.md) * [Hurricane Electric DNS](provider/hedns.md)
* [Hurricane Electric DNS](providers/hedns.md) * [Internet.bs](provider/internetbs.md)
* [Internet.bs](providers/internetbs.md) * [INWX](provider/inwx.md)
* [INWX](providers/inwx.md) * [Linode](provider/linode.md)
* [Linode](providers/linode.md) * [Loopia](provider/loopia.md)
* [Loopia](providers/loopia.md) * [LuaDNS](provider/luadns.md)
* [LuaDNS](providers/luadns.md) * [Microsoft DNS Server on Microsoft Windows Server](provider/msdns.md)
* [Microsoft DNS Server on Microsoft Windows Server](providers/msdns.md) * [Mythic Beasts](provider/mythicbeasts.md)
* [Mythic Beasts](providers/mythicbeasts.md) * [Namecheap](provider/namecheap.md)
* [Namecheap](providers/namecheap.md) * [Name.com](provider/namedotcom.md)
* [Name.com](providers/namedotcom.md) * [Netcup](provider/netcup.md)
* [Netcup](providers/netcup.md) * [Netlify](provider/netlify.md)
* [Netlify](providers/netlify.md) * [NS1](provider/ns1.md)
* [NS1](providers/ns1.md) * [OpenSRS](provider/opensrs.md)
* [OpenSRS](providers/opensrs.md) * [Oracle Cloud](provider/oracle.md)
* [Oracle Cloud](providers/oracle.md) * [OVH](provider/ovh.md)
* [OVH](providers/ovh.md) * [Packetframe](provider/packetframe.md)
* [Packetframe](providers/packetframe.md) * [Porkbun](provider/porkbun.md)
* [Porkbun](providers/porkbun.md) * [PowerDNS](provider/powerdns.md)
* [PowerDNS](providers/powerdns.md) * [Realtime Register](provider/realtimeregister.md)
* [Realtime Register](providers/realtimeregister.md) * [RWTH DNS-Admin](provider/rwth.md)
* [RWTH DNS-Admin](providers/rwth.md) * [SoftLayer DNS](provider/softlayer.md)
* [SoftLayer DNS](providers/softlayer.md) * [TransIP](provider/transip.md)
* [TransIP](providers/transip.md) * [Vultr](provider/vultr.md)
* [Vultr](providers/vultr.md)
## Commands ## Commands

View File

@ -60,14 +60,14 @@ a minimum.
- Run stringer to auto-update the file `dnscontrol/providers/capability_string.go` - Run stringer to auto-update the file `dnscontrol/providers/capability_string.go`
```shell ```shell
pushd; cd providers/; pushd; cd provider/;
stringer -type=Capability stringer -type=Capability
popd popd
``` ```
alternatively alternatively
```shell ```shell
pushd; cd providers/; pushd; cd provider/;
go generate go generate
popd popd
``` ```

View File

@ -39,7 +39,7 @@ Message to requester:
Thank you for requesting this provider! Thank you for requesting this provider!
I've tagged this issue as a provider-request. It will (soon) be listed as a "requested provider" on the provider list web page: I've tagged this issue as a provider-request. It will (soon) be listed as a "requested provider" on the provider list web page:
https://docs.dnscontrol.org/service-providers/providers https://docs.dnscontrol.org/provider
I will now close the issue. I know that's a bit confusing, but it will remain on the "requested provider" list. I will now close the issue. I know that's a bit confusing, but it will remain on the "requested provider" list.

View File

@ -192,4 +192,4 @@ provider.)
Implementing the `ListZones` function also activates the `check-creds` Implementing the `ListZones` function also activates the `check-creds`
subcommand for that provider. Please add to the provider documentation subcommand for that provider. Please add to the provider documentation
a list of error messages that people might see if the credentials are a list of error messages that people might see if the credentials are
invalid. See `documentation/providers/gcloud.md` for examples. invalid. See `documentation/provider/gcloud.md` for examples.

View File

@ -298,7 +298,7 @@ $TTL 300
``` ```
You can change the "DEFAULT_NOT_SET" text by following the documentation You can change the "DEFAULT_NOT_SET" text by following the documentation
for the [BIND provider](providers/bind.md) to set for the [BIND provider](provider/bind.md) to set
the "master" and "mbox" settings. Try that now. the "master" and "mbox" settings. Try that now.

View File

@ -15,7 +15,7 @@ Take advantage of the advanced features. Use macros and variables for easier upd
* Super extensible! Plug-in architecture makes adding new DNS providers and Registrars easy! * Super extensible! Plug-in architecture makes adding new DNS providers and Registrars easy!
* Eliminate vendor lock-in. Switch DNS providers easily, any time, with full fidelity. * Eliminate vendor lock-in. Switch DNS providers easily, any time, with full fidelity.
* Reduce points of failure: Easily maintain dual DNS providers and easily drop one that is down. * Reduce points of failure: Easily maintain dual DNS providers and easily drop one that is down.
* 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](provider/bind.md), [AWS Route 53](provider/route53.md), [Google DNS](provider/gcloud.md), and [name.com](provider/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](language-reference/domain-modifiers/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.

View File

@ -39,4 +39,4 @@ when you are making it easier for spammers how to find you.
* Most providers automatically generate SOA records. They will ignore any `SOA()` statements. * Most providers automatically generate SOA records. They will ignore any `SOA()` statements.
* The mbox field should not be set to a real email address unless you love spam and hate your privacy. * The mbox field should not be set to a real email address unless you love spam and hate your privacy.
There is more info about `SOA` in the documentation for the [BIND provider](../../providers/bind.md). There is more info about `SOA` in the documentation for the [BIND provider](../../provider/bind.md).

View File

@ -10,6 +10,6 @@ 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. `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 [`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](../../provider/route53.md#split-horizon) in the [Amazon Route 53 provider page](../../provider/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. 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.

View File

@ -248,7 +248,7 @@ a notified if the delegation diverges.
Why? Why?
Sometimes you just want to know if something changes! Sometimes you just want to know if something changes!
See the [DNS-over-HTTPS Provider](providers/dnsoverhttps.md) documentation for more info. See the [DNS-over-HTTPS Provider](provider/dnsoverhttps.md) documentation for more info.
{% code title="dnsconfig.js" %} {% code title="dnsconfig.js" %}
```javascript ```javascript

View File

@ -14,56 +14,56 @@ If a feature is definitively not supported for whatever reason, we would also li
<!-- provider-matrix-start --> <!-- provider-matrix-start -->
| 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 | | 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`](provider/akamaiedgedns.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`AUTODNS`](providers/autodns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❔ | ❔ | ❌ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ | | [`AUTODNS`](provider/autodns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❔ | ❔ | ❌ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ |
| [`AXFRDDNS`](providers/axfrddns.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ✅ | ❔ | ❌ | ❌ | ❌ | | [`AXFRDDNS`](provider/axfrddns.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ✅ | ❔ | ❌ | ❌ | ❌ |
| [`AZURE_DNS`](providers/azure_dns.md) | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`AZURE_DNS`](provider/azure_dns.md) | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`AZURE_PRIVATE_DNS`](providers/azure_private_dns.md) | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`AZURE_PRIVATE_DNS`](provider/azure_private_dns.md) | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`BIND`](providers/bind.md) | ✅ | ✅ | ❌ | ❌ | ❔ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | [`BIND`](provider/bind.md) | ✅ | ✅ | ❌ | ❌ | ❔ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| [`BUNNY_DNS`](providers/bunny_dns.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❔ | ❌ | ✅ | ✅ | | [`BUNNY_DNS`](provider/bunny_dns.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❔ | ❌ | ✅ | ✅ |
| [`CLOUDFLAREAPI`](providers/cloudflareapi.md) | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❔ | ❌ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ❌ | ✅ | ✅ | | [`CLOUDFLAREAPI`](provider/cloudflareapi.md) | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❔ | ❌ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ❌ | ✅ | ✅ |
| [`CLOUDNS`](providers/cloudns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ❔ | ✅ | ✅ | | [`CLOUDNS`](provider/cloudns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ❔ | ✅ | ✅ |
| [`CSCGLOBAL`](providers/cscglobal.md) | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ✅ | | [`CSCGLOBAL`](provider/cscglobal.md) | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ✅ |
| [`DESEC`](providers/desec.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ | | [`DESEC`](provider/desec.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ |
| [`DIGITALOCEAN`](providers/digitalocean.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ❔ | ❌ | ❔ | ❔ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ | | [`DIGITALOCEAN`](provider/digitalocean.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ❔ | ❌ | ❔ | ❔ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ |
| [`DNSIMPLE`](providers/dnsimple.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❔ | ✅ | ✅ | ❌ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ | | [`DNSIMPLE`](provider/dnsimple.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❔ | ✅ | ✅ | ❌ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ |
| [`DNSMADEEASY`](providers/dnsmadeeasy.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`DNSMADEEASY`](provider/dnsmadeeasy.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`DNSOVERHTTPS`](providers/dnsoverhttps.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ | | [`DNSOVERHTTPS`](provider/dnsoverhttps.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ |
| [`DOMAINNAMESHOP`](providers/domainnameshop.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | | [`DOMAINNAMESHOP`](provider/domainnameshop.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ |
| [`DYNADOT`](providers/dynadot.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ | | [`DYNADOT`](provider/dynadot.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ |
| [`EASYNAME`](providers/easyname.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ | | [`EASYNAME`](provider/easyname.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ |
| [`EXOSCALE`](providers/exoscale.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ❔ | ❌ | ❔ | ❔ | ❔ | ❌ | ❌ | ❔ | | [`EXOSCALE`](provider/exoscale.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ❔ | ❌ | ❔ | ❔ | ❔ | ❌ | ❌ | ❔ |
| [`GANDI_V5`](providers/gandi_v5.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ❔ | ❌ | ✅ | | [`GANDI_V5`](provider/gandi_v5.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ❔ | ❌ | ✅ |
| [`GCLOUD`](providers/gcloud.md) | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`GCLOUD`](provider/gcloud.md) | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`GCORE`](providers/gcore.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`GCORE`](provider/gcore.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`HEDNS`](providers/hedns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`HEDNS`](provider/hedns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`HETZNER`](providers/hetzner.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`HETZNER`](provider/hetzner.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`HEXONET`](providers/hexonet.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ❔ | ✅ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ | ❔ | | [`HEXONET`](provider/hexonet.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ❔ | ✅ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ | ❔ |
| [`HOSTINGDE`](providers/hostingde.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`HOSTINGDE`](provider/hostingde.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`INTERNETBS`](providers/internetbs.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ | | [`INTERNETBS`](provider/internetbs.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ |
| [`INWX`](providers/inwx.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`INWX`](provider/inwx.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`LINODE`](providers/linode.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ❔ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ | | [`LINODE`](provider/linode.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ❔ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ |
| [`LOOPIA`](providers/loopia.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ✅ | ❌ | ✅ | | [`LOOPIA`](provider/loopia.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ✅ | ❌ | ✅ |
| [`LUADNS`](providers/luadns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`LUADNS`](provider/luadns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`MSDNS`](providers/msdns.md) | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❔ | ❌ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ | | [`MSDNS`](provider/msdns.md) | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❔ | ❌ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ |
| [`MYTHICBEASTS`](providers/mythicbeasts.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ❌ | ✅ | | [`MYTHICBEASTS`](provider/mythicbeasts.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ❌ | ✅ |
| [`NAMECHEAP`](providers/namecheap.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ❌ | ❔ | ❌ | ❔ | ❌ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ | | [`NAMECHEAP`](provider/namecheap.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ❔ | ❌ | ❔ | ❌ | ❔ | ❌ | ❔ | ❌ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ |
| [`NAMEDOTCOM`](providers/namedotcom.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ❔ | ❔ | ❌ | ❔ | ❌ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ❌ | ✅ | | [`NAMEDOTCOM`](provider/namedotcom.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ❔ | ❔ | ❌ | ❔ | ❌ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ❌ | ✅ |
| [`NETCUP`](providers/netcup.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ❔ | ❌ | ❔ | ❌ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ❌ | | [`NETCUP`](provider/netcup.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ✅ | ❔ | ❌ | ❔ | ❌ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ❌ |
| [`NETLIFY`](providers/netlify.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ | | [`NETLIFY`](provider/netlify.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❔ | ✅ | ❌ | ❌ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ |
| [`NS1`](providers/ns1.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`NS1`](provider/ns1.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`OPENSRS`](providers/opensrs.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ | | [`OPENSRS`](provider/opensrs.md) | ❌ | ❌ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ |
| [`ORACLE`](providers/oracle.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`ORACLE`](provider/oracle.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`OVH`](providers/ovh.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ❔ | ❌ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ❌ | ✅ | | [`OVH`](provider/ovh.md) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ❔ | ❌ | ❔ | ✅ | ✅ | ✅ | ❔ | ❔ | ❔ | ✅ | ❌ | ✅ |
| [`PACKETFRAME`](providers/packetframe.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ❔ | | [`PACKETFRAME`](provider/packetframe.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❌ | ❔ |
| [`PORKBUN`](providers/porkbun.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ❔ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ | | [`PORKBUN`](provider/porkbun.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ❔ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ |
| [`POWERDNS`](providers/powerdns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | | [`POWERDNS`](provider/powerdns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ | ✅ | ✅ |
| [`REALTIMEREGISTER`](providers/realtimeregister.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❔ | ❌ | ✅ | ✅ | | [`REALTIMEREGISTER`](provider/realtimeregister.md) | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❔ | ❌ | ✅ | ✅ |
| [`ROUTE53`](providers/route53.md) | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`ROUTE53`](provider/route53.md) | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ |
| [`RWTH`](providers/rwth.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ✅ | ❌ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ | | [`RWTH`](provider/rwth.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ✅ | ❌ | ❔ | ❔ | ❔ | ❌ | ❌ | ✅ |
| [`SOFTLAYER`](providers/softlayer.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ❌ | ❔ | ❔ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ | | [`SOFTLAYER`](provider/softlayer.md) | ❌ | ✅ | ❌ | ❌ | ❔ | ❔ | ❔ | ❌ | ❔ | ❔ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ❔ |
| [`TRANSIP`](providers/transip.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ❔ | ❌ | ✅ | | [`TRANSIP`](provider/transip.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❔ | ❔ | ✅ | ✅ | ✅ | ❌ | ❔ | ❔ | ❔ | ❌ | ✅ |
| [`VULTR`](providers/vultr.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❔ | ❌ | ❔ | ❌ | ❔ | ✅ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ | | [`VULTR`](provider/vultr.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❔ | ❌ | ❔ | ❌ | ❔ | ✅ | ✅ | ❌ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ |
<!-- provider-matrix-end --> <!-- provider-matrix-end -->
### Providers with "official support" ### Providers with "official support"
@ -79,13 +79,13 @@ Providers in this category and their maintainers are:
|Name|Maintainer| |Name|Maintainer|
|---|---| |---|---|
|[`AZURE_DNS`](providers/azure_dns.md)|@vatsalyagoel| |[`AZURE_DNS`](provider/azure_dns.md)|@vatsalyagoel|
|[`BIND`](providers/bind.md)|@tlimoncelli| |[`BIND`](provider/bind.md)|@tlimoncelli|
|[`CLOUDFLAREAPI`](providers/cloudflareapi.md)|@tresni| |[`CLOUDFLAREAPI`](provider/cloudflareapi.md)|@tresni|
|[`CSCGLOBAL`](providers/cscglobal.md)|@mikenz| |[`CSCGLOBAL`](provider/cscglobal.md)|@mikenz|
|[`GCLOUD`](providers/gcloud.md)|@riyadhalnur| |[`GCLOUD`](provider/gcloud.md)|@riyadhalnur|
|[`MSDNS`](providers/msdns.md)|@tlimoncelli| |[`MSDNS`](provider/msdns.md)|@tlimoncelli|
|[`ROUTE53`](providers/route53.md)|@tresni| |[`ROUTE53`](provider/route53.md)|@tresni|
### Providers with "contributor support" ### Providers with "contributor support"
@ -109,47 +109,47 @@ Providers in this category and their maintainers are:
|Name|Maintainer| |Name|Maintainer|
|---|---| |---|---|
|[`AZURE_PRIVATE_DNS`](providers/azure_private_dns.md)|@matthewmgamble| |[`AZURE_PRIVATE_DNS`](provider/azure_private_dns.md)|@matthewmgamble|
|[`AKAMAIEDGEDNS`](providers/akamaiedgedns.md)|@svernick| |[`AKAMAIEDGEDNS`](provider/akamaiedgedns.md)|@svernick|
|[`AXFRDDNS`](providers/axfrddns.md)|@hnrgrgr| |[`AXFRDDNS`](provider/axfrddns.md)|@hnrgrgr|
|[`BUNNY_DNS`](providers/bunny_dns.md)|@ppmathis| |[`BUNNY_DNS`](provider/bunny_dns.md)|@ppmathis|
|[`CLOUDFLAREAPI`](providers/cloudflareapi.md)|@tresni| |[`CLOUDFLAREAPI`](provider/cloudflareapi.md)|@tresni|
|[`CLOUDNS`](providers/cloudns.md)|@pragmaton| |[`CLOUDNS`](provider/cloudns.md)|@pragmaton|
|[`CSCGLOBAL`](providers/cscglobal.md)|@Air-New-Zealand| |[`CSCGLOBAL`](provider/cscglobal.md)|@Air-New-Zealand|
|[`DESEC`](providers/desec.md)|@D3luxee| |[`DESEC`](provider/desec.md)|@D3luxee|
|[`DIGITALOCEAN`](providers/digitalocean.md)|@Deraen| |[`DIGITALOCEAN`](provider/digitalocean.md)|@Deraen|
|[`DNSIMPLE`](providers/dnsimple.md)|@onlyhavecans| |[`DNSIMPLE`](provider/dnsimple.md)|@onlyhavecans|
|[`DNSMADEEASY`](providers/dnsmadeeasy.md)|@vojtad| |[`DNSMADEEASY`](provider/dnsmadeeasy.md)|@vojtad|
|[`DNSOVERHTTPS`](providers/dnsoverhttps.md)|@mikenz| |[`DNSOVERHTTPS`](provider/dnsoverhttps.md)|@mikenz|
|[`DOMAINNAMESHOP`](providers/domainnameshop.md)|@SimenBai| |[`DOMAINNAMESHOP`](provider/domainnameshop.md)|@SimenBai|
|[`EASYNAME`](providers/easyname.md)|@tresni| |[`EASYNAME`](provider/easyname.md)|@tresni|
|[`EXOSCALE`](providers/exoscale.md)|@pierre-emmanuelJ| |[`EXOSCALE`](provider/exoscale.md)|@pierre-emmanuelJ|
|[`GANDI_V5`](providers/gandi_v5.md)|@TomOnTime| |[`GANDI_V5`](provider/gandi_v5.md)|@TomOnTime|
|[`GCORE`](providers/gcore.md)|@xddxdd| |[`GCORE`](provider/gcore.md)|@xddxdd|
|[`HEDNS`](providers/hedns.md)|@rblenkinsopp| |[`HEDNS`](provider/hedns.md)|@rblenkinsopp|
|[`HETZNER`](providers/hetzner.md)|@das7pad| |[`HETZNER`](provider/hetzner.md)|@das7pad|
|[`HEXONET`](providers/hexonet.md)|@KaiSchwarz-cnic| |[`HEXONET`](provider/hexonet.md)|@KaiSchwarz-cnic|
|[`HOSTINGDE`](providers/hostingde.md)|@membero| |[`HOSTINGDE`](provider/hostingde.md)|@membero|
|[`INTERNETBS`](providers/internetbs.md)|@pragmaton| |[`INTERNETBS`](provider/internetbs.md)|@pragmaton|
|[`INWX`](providers/inwx.md)|@patschi| |[`INWX`](provider/inwx.md)|@patschi|
|[`LINODE`](providers/linode.md)|@koesie10| |[`LINODE`](provider/linode.md)|@koesie10|
|[`LOOPIA`](providers/loopia.md)|@systemcrash| |[`LOOPIA`](provider/loopia.md)|@systemcrash|
|[`LUADNS`](providers/luadns.md)|@riku22| |[`LUADNS`](provider/luadns.md)|@riku22|
|[`NAMECHEAP`](providers/namecheap.md)|@willpower232| |[`NAMECHEAP`](provider/namecheap.md)|@willpower232|
|[`NETCUP`](providers/netcup.md)|@kordianbruck| |[`NETCUP`](provider/netcup.md)|@kordianbruck|
|[`NETLIFY`](providers/netlify.md)|@SphericalKat| |[`NETLIFY`](provider/netlify.md)|@SphericalKat|
|[`NS1`](providers/ns1.md)|@costasd| |[`NS1`](provider/ns1.md)|@costasd|
|[`OPENSRS`](providers/opensrs.md)|@philhug| |[`OPENSRS`](provider/opensrs.md)|@philhug|
|[`ORACLE`](providers/oracle.md)|@kallsyms| |[`ORACLE`](provider/oracle.md)|@kallsyms|
|[`OVH`](providers/ovh.md)|@masterzen| |[`OVH`](provider/ovh.md)|@masterzen|
|[`PACKETFRAME`](providers/packetframe.md)|@hamptonmoore| |[`PACKETFRAME`](provider/packetframe.md)|@hamptonmoore|
|[`POWERDNS`](providers/powerdns.md)|@jpbede| |[`POWERDNS`](provider/powerdns.md)|@jpbede|
|[`REALTIMEREGISTER`](providers/realtimeregister.md)|@PJEilers| |[`REALTIMEREGISTER`](provider/realtimeregister.md)|@PJEilers|
|[`ROUTE53`](providers/route53.md)|@tresni| |[`ROUTE53`](provider/route53.md)|@tresni|
|[`RWTH`](providers/rwth.md)|@MisterErwin| |[`RWTH`](provider/rwth.md)|@MisterErwin|
|[`SOFTLAYER`](providers/softlayer.md)|@jamielennox| |[`SOFTLAYER`](provider/softlayer.md)|@jamielennox|
|[`TRANSIP`](providers/transip.md)|@blackshadev| |[`TRANSIP`](provider/transip.md)|@blackshadev|
|[`VULTR`](providers/vultr.md)|@pgaskin| |[`VULTR`](provider/vultr.md)|@pgaskin|
### Requested providers ### Requested providers

View File

@ -22,7 +22,7 @@ TL;DR version: [`docs`](https://github.com/StackExchange/dnscontrol/tree/main/do
Within the git repo, docs are grouped: 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/provider/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation/provider/): One file per provider
* [`documentation/language-reference/`](https://github.com/StackExchange/dnscontrol/tree/main/documentation/language-reference/): 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!)

View File

@ -222,7 +222,7 @@ an automated way to test for this bug. The manual steps are here in
* Add the new provider to the [Providers with "contributor support"](providers.md#providers-with-contributor-support) section. * Add the new provider to the [Providers with "contributor support"](providers.md#providers-with-contributor-support) section.
* Edit `documentation/SUMMARY.md`: * Edit `documentation/SUMMARY.md`:
* Add the provider to the "Providers" list. * Add the provider to the "Providers" list.
* Create `documentation/providers/PROVIDERNAME.md`: * Create `documentation/provider/PROVIDERNAME.md`:
* Use one of the other files in that directory as a base. * Use one of the other files in that directory as a base.
* Edit `OWNERS`: * Edit `OWNERS`:
* Add the directory name and your GitHub username. * Add the directory name and your GitHub username.
@ -311,7 +311,7 @@ These are the things we'll be checking when you submit the PR. Please try to co
* `.goreleaser.yml` (Search for `Provider-specific changes`) * `.goreleaser.yml` (Search for `Provider-specific changes`)
* `documentation/SUMMARY.md` * `documentation/SUMMARY.md`
* `documentation/providers.md` (the autogenerated table + the second one; make sure it is removed from the `requested` list) * `documentation/providers.md` (the autogenerated table + the second one; make sure it is removed from the `requested` list)
* `documentation/providers/`PROVIDERNAME`.md` * `documentation/provider/`PROVIDERNAME`.md`
* `integrationTest/providers.json` * `integrationTest/providers.json`
* `providers/_all/all.go` * `providers/_all/all.go`
3. Review the code for style issues, remove debug statements, make sure all exported functions have a comment, and generally tighten up the code. 3. Review the code for style issues, remove debug statements, make sure all exported functions have a comment, and generally tighten up the code.