Started making changes on ultradns plugin

This commit is contained in:
kbhandari 2020-05-07 18:28:47 +05:30 committed by aliasghar
parent 490ff5dd4e
commit 844b787dba
5 changed files with 14 additions and 1 deletions

3
.github/labeler.yml vendored
View File

@ -64,3 +64,6 @@ provider/vinyldns: provider/vinyldns*
# Add 'provider/vultr' in file which starts with vultr # Add 'provider/vultr' in file which starts with vultr
provider/vultr: provider/vultr* provider/vultr: provider/vultr*
# Add 'provider/ultradns' in file which starts with vultr
provider/vultr: provider/ultradns*

View File

@ -96,6 +96,7 @@ The following table clarifies the current status of the providers according to t
| Akamai FastDNS | Alpha | | | Akamai FastDNS | Alpha | |
| OVH | Alpha | | | OVH | Alpha | |
| Vultr | Alpha | | | Vultr | Alpha | |
| UltraDNS | Alpha | |
## Running ExternalDNS: ## Running ExternalDNS:
@ -144,6 +145,7 @@ The following tutorials are provided:
* [VinylDNS](docs/tutorials/vinyldns.md) * [VinylDNS](docs/tutorials/vinyldns.md)
* [OVH](docs/tutorials/ovh.md) * [OVH](docs/tutorials/ovh.md)
* [Vultr](docs/tutorials/vultr.md) * [Vultr](docs/tutorials/vultr.md)
* [UltraDNS](docs/tutorials/ultradns.md)
### Running Locally ### Running Locally

View File

@ -45,6 +45,7 @@ Providers
- [x] TransIP - [x] TransIP
- [x] RFC2136 - [x] RFC2136
- [x] Vultr - [x] Vultr
- [x] UltraDNS
PRs welcome! PRs welcome!
@ -76,3 +77,6 @@ The TransIP Provider minimal TTL is used when the TTL is 0. The minimal TTL is 6
### Vultr Provider ### Vultr Provider
The Vultr provider minimal TTL is used when the TTL is 0. The default is 1 hour. The Vultr provider minimal TTL is used when the TTL is 0. The default is 1 hour.
### UltraDNS
The UltraDNS provider minimal TTL is used when the TTL is 0. The default is 24 hour.

View File

@ -167,6 +167,10 @@ func main() {
p, err = provider.NewVinylDNSProvider(domainFilter, zoneIDFilter, cfg.DryRun) p, err = provider.NewVinylDNSProvider(domainFilter, zoneIDFilter, cfg.DryRun)
case "vultr": case "vultr":
p, err = provider.NewVultrProvider(domainFilter, cfg.DryRun) p, err = provider.NewVultrProvider(domainFilter, cfg.DryRun)
case "ultradns":
p, err = provider.NewUltraDNSProvider(domainFilter, cfg.DryRun)
case "cloudflare": case "cloudflare":
p, err = provider.NewCloudFlareProvider(domainFilter, zoneIDFilter, cfg.CloudflareZonesPerPage, cfg.CloudflareProxied, cfg.DryRun) p, err = provider.NewCloudFlareProvider(domainFilter, zoneIDFilter, cfg.CloudflareZonesPerPage, cfg.CloudflareProxied, cfg.DryRun)
case "rcodezero": case "rcodezero":

View File

@ -312,7 +312,7 @@ func (cfg *Config) ParseFlags(args []string) error {
app.Flag("service-type-filter", "The service types to take care about (default: all, expected: ClusterIP, NodePort, LoadBalancer or ExternalName)").StringsVar(&cfg.ServiceTypeFilter) app.Flag("service-type-filter", "The service types to take care about (default: all, expected: ClusterIP, NodePort, LoadBalancer or ExternalName)").StringsVar(&cfg.ServiceTypeFilter)
// Flags related to providers // Flags related to providers
app.Flag("provider", "The DNS provider where the DNS records will be created (required, options: aws, aws-sd, google, azure, azure-dns, azure-private-dns, cloudflare, rcodezero, digitalocean, dnsimple, akamai, infoblox, dyn, designate, coredns, skydns, inmemory, ovh, pdns, oci, exoscale, linode, rfc2136, ns1, transip, vinyldns, rdns, vultr)").Required().PlaceHolder("provider").EnumVar(&cfg.Provider, "aws", "aws-sd", "google", "azure", "azure-dns", "azure-private-dns", "alibabacloud", "cloudflare", "rcodezero", "digitalocean", "dnsimple", "akamai", "infoblox", "dyn", "designate", "coredns", "skydns", "inmemory", "ovh", "pdns", "oci", "exoscale", "linode", "rfc2136", "ns1", "transip", "vinyldns", "rdns", "vultr") app.Flag("provider", "The DNS provider where the DNS records will be created (required, options: aws, aws-sd, google, azure, azure-dns, azure-private-dns, cloudflare, rcodezero, digitalocean, dnsimple, akamai, infoblox, dyn, designate, coredns, skydns, inmemory, ovh, pdns, oci, exoscale, linode, rfc2136, ns1, transip, vinyldns, rdns, vultr, ultradns)").Required().PlaceHolder("provider").EnumVar(&cfg.Provider, "aws", "aws-sd", "google", "azure", "azure-dns", "azure-private-dns", "alibabacloud", "cloudflare", "rcodezero", "digitalocean", "dnsimple", "akamai", "infoblox", "dyn", "designate", "coredns", "skydns", "inmemory", "ovh", "pdns", "oci", "exoscale", "linode", "rfc2136", "ns1", "transip", "vinyldns", "rdns", "vultr")
app.Flag("domain-filter", "Limit possible target zones by a domain suffix; specify multiple times for multiple domains (optional)").Default("").StringsVar(&cfg.DomainFilter) app.Flag("domain-filter", "Limit possible target zones by a domain suffix; specify multiple times for multiple domains (optional)").Default("").StringsVar(&cfg.DomainFilter)
app.Flag("exclude-domains", "Exclude subdomains (optional)").Default("").StringsVar(&cfg.ExcludeDomains) app.Flag("exclude-domains", "Exclude subdomains (optional)").Default("").StringsVar(&cfg.ExcludeDomains)
app.Flag("zone-id-filter", "Filter target zones by hosted zone id; specify multiple times for multiple zones (optional)").Default("").StringsVar(&cfg.ZoneIDFilter) app.Flag("zone-id-filter", "Filter target zones by hosted zone id; specify multiple times for multiple zones (optional)").Default("").StringsVar(&cfg.ZoneIDFilter)