traefik/vendor/github.com/xenolf/lego/providers/dns/dns_providers.go

166 lines
5.1 KiB
Go
Raw Normal View History

2017-02-07 21:33:23 +00:00
package dns
import (
"fmt"
2019-01-07 17:30:06 +00:00
"github.com/xenolf/lego/challenge"
"github.com/xenolf/lego/challenge/dns01"
2018-07-23 15:30:03 +00:00
"github.com/xenolf/lego/providers/dns/acmedns"
2018-09-14 08:06:03 +00:00
"github.com/xenolf/lego/providers/dns/alidns"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/auroradns"
"github.com/xenolf/lego/providers/dns/azure"
"github.com/xenolf/lego/providers/dns/bluecat"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/cloudflare"
"github.com/xenolf/lego/providers/dns/cloudxns"
2018-11-19 15:40:03 +00:00
"github.com/xenolf/lego/providers/dns/conoha"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/digitalocean"
"github.com/xenolf/lego/providers/dns/dnsimple"
"github.com/xenolf/lego/providers/dns/dnsmadeeasy"
"github.com/xenolf/lego/providers/dns/dnspod"
2018-10-15 07:40:02 +00:00
"github.com/xenolf/lego/providers/dns/dreamhost"
"github.com/xenolf/lego/providers/dns/duckdns"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/dyn"
"github.com/xenolf/lego/providers/dns/exec"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/exoscale"
"github.com/xenolf/lego/providers/dns/fastdns"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/gandi"
"github.com/xenolf/lego/providers/dns/gandiv5"
2018-05-31 07:30:04 +00:00
"github.com/xenolf/lego/providers/dns/gcloud"
"github.com/xenolf/lego/providers/dns/glesys"
"github.com/xenolf/lego/providers/dns/godaddy"
2018-09-17 13:16:03 +00:00
"github.com/xenolf/lego/providers/dns/hostingde"
2018-11-19 15:40:03 +00:00
"github.com/xenolf/lego/providers/dns/httpreq"
2018-09-14 08:06:03 +00:00
"github.com/xenolf/lego/providers/dns/iij"
2018-11-19 15:40:03 +00:00
"github.com/xenolf/lego/providers/dns/inwx"
"github.com/xenolf/lego/providers/dns/lightsail"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/linode"
2018-10-10 14:28:04 +00:00
"github.com/xenolf/lego/providers/dns/linodev4"
2018-11-19 15:40:03 +00:00
"github.com/xenolf/lego/providers/dns/mydnsjp"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/namecheap"
"github.com/xenolf/lego/providers/dns/namedotcom"
2018-09-14 08:06:03 +00:00
"github.com/xenolf/lego/providers/dns/netcup"
2018-07-03 10:44:04 +00:00
"github.com/xenolf/lego/providers/dns/nifcloud"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/ns1"
2017-10-31 09:42:03 +00:00
"github.com/xenolf/lego/providers/dns/otc"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/ovh"
"github.com/xenolf/lego/providers/dns/pdns"
"github.com/xenolf/lego/providers/dns/rackspace"
"github.com/xenolf/lego/providers/dns/rfc2136"
"github.com/xenolf/lego/providers/dns/route53"
2018-07-03 10:44:04 +00:00
"github.com/xenolf/lego/providers/dns/sakuracloud"
2018-11-19 15:40:03 +00:00
"github.com/xenolf/lego/providers/dns/selectel"
2018-10-11 14:50:04 +00:00
"github.com/xenolf/lego/providers/dns/stackpath"
2018-11-19 15:40:03 +00:00
"github.com/xenolf/lego/providers/dns/transip"
2018-07-03 10:44:04 +00:00
"github.com/xenolf/lego/providers/dns/vegadns"
2018-11-19 15:40:03 +00:00
"github.com/xenolf/lego/providers/dns/vscale"
2017-02-07 21:33:23 +00:00
"github.com/xenolf/lego/providers/dns/vultr"
)
2018-05-31 07:30:04 +00:00
// NewDNSChallengeProviderByName Factory for DNS providers
2019-01-07 17:30:06 +00:00
func NewDNSChallengeProviderByName(name string) (challenge.Provider, error) {
2017-02-07 21:33:23 +00:00
switch name {
2018-07-23 15:30:03 +00:00
case "acme-dns":
return acmedns.NewDNSProvider()
2018-09-14 08:06:03 +00:00
case "alidns":
return alidns.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "azure":
2018-07-03 10:44:04 +00:00
return azure.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "auroradns":
2018-07-03 10:44:04 +00:00
return auroradns.NewDNSProvider()
case "bluecat":
2018-07-03 10:44:04 +00:00
return bluecat.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "cloudflare":
2018-07-03 10:44:04 +00:00
return cloudflare.NewDNSProvider()
case "cloudxns":
2018-07-03 10:44:04 +00:00
return cloudxns.NewDNSProvider()
2018-11-19 15:40:03 +00:00
case "conoha":
return conoha.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "digitalocean":
2018-07-03 10:44:04 +00:00
return digitalocean.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "dnsimple":
2018-07-03 10:44:04 +00:00
return dnsimple.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "dnsmadeeasy":
2018-07-03 10:44:04 +00:00
return dnsmadeeasy.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "dnspod":
2018-07-03 10:44:04 +00:00
return dnspod.NewDNSProvider()
2018-10-15 07:40:02 +00:00
case "dreamhost":
return dreamhost.NewDNSProvider()
case "duckdns":
2018-07-03 10:44:04 +00:00
return duckdns.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "dyn":
2018-07-03 10:44:04 +00:00
return dyn.NewDNSProvider()
case "fastdns":
2018-07-03 10:44:04 +00:00
return fastdns.NewDNSProvider()
2018-10-10 14:28:04 +00:00
case "exec":
return exec.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "exoscale":
2018-07-03 10:44:04 +00:00
return exoscale.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "gandi":
2018-07-03 10:44:04 +00:00
return gandi.NewDNSProvider()
case "gandiv5":
2018-07-03 10:44:04 +00:00
return gandiv5.NewDNSProvider()
case "glesys":
2018-07-03 10:44:04 +00:00
return glesys.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "gcloud":
2018-07-03 10:44:04 +00:00
return gcloud.NewDNSProvider()
case "godaddy":
2018-07-03 10:44:04 +00:00
return godaddy.NewDNSProvider()
2018-09-17 13:16:03 +00:00
case "hostingde":
return hostingde.NewDNSProvider()
2018-11-19 15:40:03 +00:00
case "httpreq":
return httpreq.NewDNSProvider()
2018-09-14 08:06:03 +00:00
case "iij":
return iij.NewDNSProvider()
2018-11-19 15:40:03 +00:00
case "inwx":
return inwx.NewDNSProvider()
case "lightsail":
2018-07-03 10:44:04 +00:00
return lightsail.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "linode":
2018-07-03 10:44:04 +00:00
return linode.NewDNSProvider()
2018-10-10 14:28:04 +00:00
case "linodev4":
return linodev4.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "manual":
2019-01-07 17:30:06 +00:00
return dns01.NewDNSProviderManual()
2018-11-19 15:40:03 +00:00
case "mydnsjp":
return mydnsjp.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "namecheap":
2018-07-03 10:44:04 +00:00
return namecheap.NewDNSProvider()
case "namedotcom":
2018-07-03 10:44:04 +00:00
return namedotcom.NewDNSProvider()
2018-09-14 08:06:03 +00:00
case "netcup":
return netcup.NewDNSProvider()
2018-07-03 10:44:04 +00:00
case "nifcloud":
return nifcloud.NewDNSProvider()
2018-10-10 14:28:04 +00:00
case "ns1":
return ns1.NewDNSProvider()
case "otc":
return otc.NewDNSProvider()
case "ovh":
return ovh.NewDNSProvider()
case "pdns":
return pdns.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "rackspace":
2018-07-03 10:44:04 +00:00
return rackspace.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "route53":
2018-07-03 10:44:04 +00:00
return route53.NewDNSProvider()
2017-02-07 21:33:23 +00:00
case "rfc2136":
2018-07-03 10:44:04 +00:00
return rfc2136.NewDNSProvider()
case "sakuracloud":
return sakuracloud.NewDNSProvider()
2018-10-11 14:50:04 +00:00
case "stackpath":
return stackpath.NewDNSProvider()
2018-11-19 15:40:03 +00:00
case "selectel":
return selectel.NewDNSProvider()
case "transip":
return transip.NewDNSProvider()
2018-07-03 10:44:04 +00:00
case "vegadns":
return vegadns.NewDNSProvider()
2018-10-10 14:28:04 +00:00
case "vultr":
return vultr.NewDNSProvider()
2018-11-19 15:40:03 +00:00
case "vscale":
return vscale.NewDNSProvider()
2017-02-07 21:33:23 +00:00
default:
2018-07-03 10:44:04 +00:00
return nil, fmt.Errorf("unrecognised DNS provider: %s", name)
2017-02-07 21:33:23 +00:00
}
}