diff --git a/commands/createDomains.go b/commands/createDomains.go index 46f6db8e5..dc17b0f6a 100644 --- a/commands/createDomains.go +++ b/commands/createDomains.go @@ -56,7 +56,7 @@ func CreateDomains(args CreateDomainsArgs) error { for _, provider := range domain.DNSProviderInstances { if creator, ok := provider.Driver.(providers.ZoneCreator); ok { fmt.Println(" -", provider.Name) - err := creator.EnsureZoneExists(domain.Name) + err := creator.EnsureZoneExists(domain.Name, domain.Metadata) if err != nil { fmt.Printf("Error creating domain: %s\n", err) } diff --git a/commands/ppreviewPush.go b/commands/ppreviewPush.go index 12b3d7ca9..c394819a0 100644 --- a/commands/ppreviewPush.go +++ b/commands/ppreviewPush.go @@ -493,7 +493,7 @@ func oneZonePopulate(zone *models.DomainConfig, zc *cmdZoneCache) error { var errs []error // Loop over all the providers configured for that zone: for _, provider := range zone.DNSProviderInstances { - populateCorrections, err := generatePopulateCorrections(provider, zone.Name, zc) + populateCorrections, err := generatePopulateCorrections(provider, zone, zc) if err != nil { errs = append(errs, err) } @@ -645,7 +645,7 @@ func writeReport(report string, reportItems []*ReportItem) error { return nil } -func generatePopulateCorrections(provider *models.DNSProviderInstance, zoneName string, zcache *cmdZoneCache) ([]*models.Correction, error) { +func generatePopulateCorrections(provider *models.DNSProviderInstance, zone *models.DomainConfig, zcache *cmdZoneCache) ([]*models.Correction, error) { lister, ok := provider.Driver.(providers.ZoneLister) if !ok { return nil, nil // We can't generate a list. No corrections are possible. @@ -658,7 +658,7 @@ func generatePopulateCorrections(provider *models.DNSProviderInstance, zoneName } zones := *z - aceZoneName, _ := idna.ToASCII(zoneName) + aceZoneName, _ := idna.ToASCII(zone.Name) if slices.Contains(zones, aceZoneName) { return nil, nil // zone exists. Nothing to do. } @@ -671,7 +671,7 @@ func generatePopulateCorrections(provider *models.DNSProviderInstance, zoneName return []*models.Correction{{ Msg: fmt.Sprintf("Ensuring zone %q exists in %q", aceZoneName, provider.Name), - F: func() error { return creator.EnsureZoneExists(aceZoneName) }, + F: func() error { return creator.EnsureZoneExists(aceZoneName, zone.Metadata) }, }}, nil } diff --git a/providers/akamaiedgedns/akamaiEdgeDnsProvider.go b/providers/akamaiedgedns/akamaiEdgeDnsProvider.go index 115c38bef..90447daaf 100644 --- a/providers/akamaiedgedns/akamaiEdgeDnsProvider.go +++ b/providers/akamaiedgedns/akamaiEdgeDnsProvider.go @@ -99,7 +99,7 @@ func newEdgeDNSDSP(config map[string]string, metadata json.RawMessage) (provider } // EnsureZoneExists creates a zone if it does not exist -func (a *edgeDNSProvider) EnsureZoneExists(domain string) error { +func (a *edgeDNSProvider) EnsureZoneExists(domain string, metadata map[string]string) error { if zoneDoesExist(domain) { printer.Debugf("Zone %s already exists\n", domain) return nil diff --git a/providers/autodns/autoDnsProvider.go b/providers/autodns/autoDnsProvider.go index 49b273a66..514495dca 100644 --- a/providers/autodns/autoDnsProvider.go +++ b/providers/autodns/autoDnsProvider.go @@ -250,7 +250,7 @@ func (api *autoDNSProvider) GetZoneRecords(domain string, meta map[string]string return existingRecords, nil } -func (api *autoDNSProvider) EnsureZoneExists(domain string) error { +func (api *autoDNSProvider) EnsureZoneExists(domain string, metadata map[string]string) error { // try to get zone _, err := api.getZone(domain) diff --git a/providers/azuredns/azureDnsProvider.go b/providers/azuredns/azureDnsProvider.go index cdf9e54a8..51515a5f8 100644 --- a/providers/azuredns/azureDnsProvider.go +++ b/providers/azuredns/azureDnsProvider.go @@ -691,7 +691,7 @@ func (a *azurednsProvider) fetchRecordSets(zoneName string) ([]*adns.RecordSet, return records, nil } -func (a *azurednsProvider) EnsureZoneExists(domain string) error { +func (a *azurednsProvider) EnsureZoneExists(domain string, metadata map[string]string) error { if _, ok := a.zones[domain]; ok { return nil } diff --git a/providers/azureprivatedns/azurePrivateDnsProvider.go b/providers/azureprivatedns/azurePrivateDnsProvider.go index b221bcd88..4c18a0f7d 100644 --- a/providers/azureprivatedns/azurePrivateDnsProvider.go +++ b/providers/azureprivatedns/azurePrivateDnsProvider.go @@ -523,7 +523,7 @@ func (a *azurednsProvider) fetchRecordSets(zoneName string) ([]*adns.RecordSet, return records, nil } -func (a *azurednsProvider) EnsureZoneExists(domain string) error { +func (a *azurednsProvider) EnsureZoneExists(domain string, metadata map[string]string) error { if _, ok := a.zones[domain]; ok { return nil } diff --git a/providers/bunnydns/listzones.go b/providers/bunnydns/listzones.go index f73fe74c6..3f1768607 100644 --- a/providers/bunnydns/listzones.go +++ b/providers/bunnydns/listzones.go @@ -16,7 +16,7 @@ func (b *bunnydnsProvider) ListZones() ([]string, error) { return zoneNames, nil } -func (b *bunnydnsProvider) EnsureZoneExists(domain string) error { +func (b *bunnydnsProvider) EnsureZoneExists(domain string, metadata map[string]string) error { _, err := b.findZoneByDomain(domain) if err == nil { return nil diff --git a/providers/cloudflare/cloudflareProvider.go b/providers/cloudflare/cloudflareProvider.go index 4865f828c..54501b438 100644 --- a/providers/cloudflare/cloudflareProvider.go +++ b/providers/cloudflare/cloudflareProvider.go @@ -898,7 +898,7 @@ func getProxyMetadata(r *models.RecordConfig) map[string]string { } // EnsureZoneExists creates a zone if it does not exist -func (c *cloudflareProvider) EnsureZoneExists(domain string) error { +func (c *cloudflareProvider) EnsureZoneExists(domain string, metadata map[string]string) error { if ok, err := c.zoneCache.HasZone(domain); err != nil || ok { return err } diff --git a/providers/cloudns/cloudnsProvider.go b/providers/cloudns/cloudnsProvider.go index 5aea20005..f36f4655a 100644 --- a/providers/cloudns/cloudnsProvider.go +++ b/providers/cloudns/cloudnsProvider.go @@ -284,7 +284,7 @@ func (c *cloudnsProvider) GetZoneRecords(domain string, meta map[string]string) } // EnsureZoneExists creates a zone if it does not exist -func (c *cloudnsProvider) EnsureZoneExists(domain string) error { +func (c *cloudnsProvider) EnsureZoneExists(domain string, metadata map[string]string) error { if _, ok, err := c.fetchDomainIndex(domain); err != nil { return err } else if ok { // zone already exists diff --git a/providers/cnr/domains.go b/providers/cnr/domains.go index 99645a1c5..f10845fdb 100644 --- a/providers/cnr/domains.go +++ b/providers/cnr/domains.go @@ -3,7 +3,7 @@ package cnr // EnsureZoneExists returns an error // * if access to dnszone is not allowed (not authorized) or // * if it doesn't exist and creating it fails -func (n *Client) EnsureZoneExists(domain string) error { +func (n *Client) EnsureZoneExists(domain string, metadata map[string]string) error { command := map[string]interface{}{ "COMMAND": "AddDNSZone", "DNSZONE": domain, diff --git a/providers/cnr/records.go b/providers/cnr/records.go index 1c9772df8..513fd7ef5 100644 --- a/providers/cnr/records.go +++ b/providers/cnr/records.go @@ -196,7 +196,7 @@ func (n *Client) getRecords(domain string) ([]*Record, error) { if r.GetCode() == 545 { // If dns zone does not exist create a new one automatically if !isNoPopulate() { - err := n.EnsureZoneExists(domain) + err := n.EnsureZoneExists(domain, nil) if err != nil { return nil, err } diff --git a/providers/desec/desecProvider.go b/providers/desec/desecProvider.go index a14694bfb..b86588d1e 100644 --- a/providers/desec/desecProvider.go +++ b/providers/desec/desecProvider.go @@ -123,7 +123,7 @@ func (c *desecProvider) GetZoneRecords(domain string, meta map[string]string) (m } // EnsureZoneExists creates a zone if it does not exist -func (c *desecProvider) EnsureZoneExists(domain string) error { +func (c *desecProvider) EnsureZoneExists(domain string, metadata map[string]string) error { _, ok, err := c.searchDomainIndex(domain) if err != nil { return err diff --git a/providers/digitalocean/digitaloceanProvider.go b/providers/digitalocean/digitaloceanProvider.go index 4173b0e0b..2d70e7612 100644 --- a/providers/digitalocean/digitaloceanProvider.go +++ b/providers/digitalocean/digitaloceanProvider.go @@ -95,7 +95,7 @@ func init() { } // EnsureZoneExists creates a zone if it does not exist -func (api *digitaloceanProvider) EnsureZoneExists(domain string) error { +func (api *digitaloceanProvider) EnsureZoneExists(domain string, metadata map[string]string) error { retry: ctx := context.Background() _, resp, err := api.client.Domains.Get(ctx, domain) diff --git a/providers/dnsmadeeasy/dnsMadeEasyProvider.go b/providers/dnsmadeeasy/dnsMadeEasyProvider.go index c95440174..472d2eded 100644 --- a/providers/dnsmadeeasy/dnsMadeEasyProvider.go +++ b/providers/dnsmadeeasy/dnsMadeEasyProvider.go @@ -191,7 +191,7 @@ func (api *dnsMadeEasyProvider) GetZoneRecordsCorrections(dc *models.DomainConfi } // EnsureZoneExists creates a zone if it does not exist -func (api *dnsMadeEasyProvider) EnsureZoneExists(domain string) error { +func (api *dnsMadeEasyProvider) EnsureZoneExists(domain string, metadata map[string]string) error { exists, err := api.domainExists(domain) if err != nil { return err diff --git a/providers/exoscale/exoscaleProvider.go b/providers/exoscale/exoscaleProvider.go index a02b51a29..136e1fa5f 100644 --- a/providers/exoscale/exoscaleProvider.go +++ b/providers/exoscale/exoscaleProvider.go @@ -81,7 +81,7 @@ func init() { } // EnsureZoneExists creates a zone if it does not exist -func (c *exoscaleProvider) EnsureZoneExists(domain string) error { +func (c *exoscaleProvider) EnsureZoneExists(domain string, metadata map[string]string) error { _, err := c.findDomainByName(domain) return err diff --git a/providers/fortigate/fortigateProvider.go b/providers/fortigate/fortigateProvider.go index 7ce111f27..af96562c9 100644 --- a/providers/fortigate/fortigateProvider.go +++ b/providers/fortigate/fortigateProvider.go @@ -157,7 +157,7 @@ func (p *fortigateProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, e Msg: msg, F: func() error { - if err := p.EnsureZoneExists(dc.Name); err != nil { + if err := p.EnsureZoneExists(dc.Name, dc.Metadata); err != nil { return err } @@ -170,7 +170,7 @@ func (p *fortigateProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, e } // Zone Existence Check & Creation -func (p *fortigateProvider) EnsureZoneExists(domain string) error { +func (p *fortigateProvider) EnsureZoneExists(domain string, metadata map[string]string) error { var probe struct{ Results []any } err := p.client.do("GET", "system/dns-database/"+domain, nil, nil, &probe) diff --git a/providers/gcloud/gcloudProvider.go b/providers/gcloud/gcloudProvider.go index 9aeda0754..c0704cf8e 100644 --- a/providers/gcloud/gcloudProvider.go +++ b/providers/gcloud/gcloudProvider.go @@ -446,7 +446,7 @@ func (g *gcloudProvider) getRecords(domain string) ([]*gdns.ResourceRecordSet, e return sets, nil } -func (g *gcloudProvider) EnsureZoneExists(domain string) error { +func (g *gcloudProvider) EnsureZoneExists(domain string, metadata map[string]string) error { z, err := g.getZone(domain) if err != nil { if _, ok := err.(errNoExist); !ok { diff --git a/providers/gcore/gcoreProvider.go b/providers/gcore/gcoreProvider.go index 56309a9db..b935cdf69 100644 --- a/providers/gcore/gcoreProvider.go +++ b/providers/gcore/gcoreProvider.go @@ -113,7 +113,7 @@ func (c *gcoreProvider) GetZoneRecords(domain string, meta map[string]string) (m } // EnsureZoneExists creates a zone if it does not exist -func (c *gcoreProvider) EnsureZoneExists(domain string) error { +func (c *gcoreProvider) EnsureZoneExists(domain string, metadata map[string]string) error { zones, err := c.provider.Zones(c.ctx) if err != nil { return err diff --git a/providers/hedns/hednsProvider.go b/providers/hedns/hednsProvider.go index 7776ad1d4..dd620d0b0 100644 --- a/providers/hedns/hednsProvider.go +++ b/providers/hedns/hednsProvider.go @@ -167,7 +167,7 @@ func (c *hednsProvider) ListZones() ([]string, error) { } // EnsureZoneExists creates a zone if it does not exist -func (c *hednsProvider) EnsureZoneExists(domain string) error { +func (c *hednsProvider) EnsureZoneExists(domain string, metadata map[string]string) error { domains, err := c.ListZones() if err != nil { return err diff --git a/providers/hetzner/hetznerProvider.go b/providers/hetzner/hetznerProvider.go index d66182cc5..29941719a 100644 --- a/providers/hetzner/hetznerProvider.go +++ b/providers/hetzner/hetznerProvider.go @@ -58,7 +58,7 @@ func New(settings map[string]string, _ json.RawMessage) (providers.DNSServicePro } // EnsureZoneExists creates a zone if it does not exist -func (api *hetznerProvider) EnsureZoneExists(domain string) error { +func (api *hetznerProvider) EnsureZoneExists(domain string, metadata map[string]string) error { if ok, err := api.zoneCache.HasZone(domain); err != nil || ok { return err } diff --git a/providers/hexonet/domains.go b/providers/hexonet/domains.go index 7313f38d4..31c024c44 100644 --- a/providers/hexonet/domains.go +++ b/providers/hexonet/domains.go @@ -3,7 +3,7 @@ package hexonet // EnsureZoneExists returns an error // * if access to dnszone is not allowed (not authorized) or // * if it doesn't exist and creating it fails -func (n *HXClient) EnsureZoneExists(domain string) error { +func (n *HXClient) EnsureZoneExists(domain string, metadata map[string]string) error { r := n.client.Request(map[string]interface{}{ "COMMAND": "StatusDNSZone", "DNSZONE": domain + ".", diff --git a/providers/hostingde/hostingdeProvider.go b/providers/hostingde/hostingdeProvider.go index 4d53cb632..6d24248cd 100644 --- a/providers/hostingde/hostingdeProvider.go +++ b/providers/hostingde/hostingdeProvider.go @@ -357,7 +357,7 @@ func (hp *hostingdeProvider) GetRegistrarCorrections(dc *models.DomainConfig) ([ return nil, nil } -func (hp *hostingdeProvider) EnsureZoneExists(domain string) error { +func (hp *hostingdeProvider) EnsureZoneExists(domain string, metadata map[string]string) error { _, err := hp.getZoneConfig(domain) if errors.Is(err, errZoneNotFound) { if err := hp.createZone(domain); err != nil { diff --git a/providers/huaweicloud/listzones.go b/providers/huaweicloud/listzones.go index 1b7f06905..c60707246 100644 --- a/providers/huaweicloud/listzones.go +++ b/providers/huaweicloud/listzones.go @@ -8,7 +8,7 @@ import ( ) // EnsureZoneExists creates a zone if it does not exist -func (c *huaweicloudProvider) EnsureZoneExists(domain string) error { +func (c *huaweicloudProvider) EnsureZoneExists(domain string, metadata map[string]string) error { if err := c.getZones(); err != nil { return err } diff --git a/providers/inwx/inwxProvider.go b/providers/inwx/inwxProvider.go index ebf79f97f..3a4eb4097 100644 --- a/providers/inwx/inwxProvider.go +++ b/providers/inwx/inwxProvider.go @@ -519,7 +519,7 @@ func (api *inwxAPI) fetchRegistrationNSSet(domain string) []string { } // EnsureZoneExists creates a zone if it does not exist -func (api *inwxAPI) EnsureZoneExists(domain string) error { +func (api *inwxAPI) EnsureZoneExists(domain string, metadata map[string]string) error { if api.domainIndex == nil { // only pull the data once. if err := api.fetchNameserverDomains(); err != nil { return err diff --git a/providers/joker/zones.go b/providers/joker/zones.go index 40478f682..6bc67401c 100644 --- a/providers/joker/zones.go +++ b/providers/joker/zones.go @@ -7,7 +7,7 @@ import ( ) // EnsureZoneExists creates a zone if it doesn't exist. -func (api *jokerProvider) EnsureZoneExists(domain string) error { +func (api *jokerProvider) EnsureZoneExists(domain string, metadata map[string]string) error { // For Joker, all domains you manage automatically have DNS zones available // We just need to verify we can access the zone _, body, err := api.makeRequest("dns-zone-get", url.Values{"domain": {domain}}) diff --git a/providers/luadns/luadnsProvider.go b/providers/luadns/luadnsProvider.go index a1c94b66e..613d70a4c 100644 --- a/providers/luadns/luadnsProvider.go +++ b/providers/luadns/luadnsProvider.go @@ -210,7 +210,7 @@ func (l *luadnsProvider) makeDeleteCorrection(deleterec *models.RecordConfig, zo } // EnsureZoneExists creates a zone if it does not exist -func (l *luadnsProvider) EnsureZoneExists(domain string) error { +func (l *luadnsProvider) EnsureZoneExists(domain string, metadata map[string]string) error { if l.zones == nil { if err := l.fetchDomainList(); err != nil { return err diff --git a/providers/ns1/zones.go b/providers/ns1/zones.go index 10c0e66ea..f58bd96e3 100644 --- a/providers/ns1/zones.go +++ b/providers/ns1/zones.go @@ -40,7 +40,7 @@ func (n *nsone) GetZone(domain string) (*dns.Zone, error) { } } -func (n *nsone) EnsureZoneExists(domain string) error { +func (n *nsone) EnsureZoneExists(domain string, metadata map[string]string) error { // This enables the create-domains subcommand zone := dns.NewZone(domain) diff --git a/providers/oracle/oracleProvider.go b/providers/oracle/oracleProvider.go index 50d4fdb61..e96fa34ea 100644 --- a/providers/oracle/oracleProvider.go +++ b/providers/oracle/oracleProvider.go @@ -114,7 +114,7 @@ func (o *oracleProvider) ListZones() ([]string, error) { } // EnsureZoneExists creates a zone if it does not exist -func (o *oracleProvider) EnsureZoneExists(domain string) error { +func (o *oracleProvider) EnsureZoneExists(domain string, metadata map[string]string) error { ctx, cancel := context.WithTimeout(context.Background(), time.Minute) defer cancel() diff --git a/providers/powerdns/dns.go b/providers/powerdns/dns.go index 05482558c..79db23b53 100644 --- a/providers/powerdns/dns.go +++ b/providers/powerdns/dns.go @@ -64,8 +64,9 @@ func (dsp *powerdnsProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, } // EnsureZoneExists creates a zone if it does not exist -func (dsp *powerdnsProvider) EnsureZoneExists(domain string) error { - if _, err := dsp.client.Zones().GetZone(context.Background(), dsp.ServerName, canonical(domain)); err != nil { +func (dsp *powerdnsProvider) EnsureZoneExists(domain string, metadata map[string]string) error { + domainVariant := dsp.zoneName(domain, metadata[models.DomainTag]) + if _, err := dsp.client.Zones().GetZone(context.Background(), dsp.ServerName, domainVariant); err != nil { if e, ok := err.(pdnshttp.ErrUnexpectedStatus); ok { if e.StatusCode != http.StatusNotFound { return err @@ -76,7 +77,7 @@ func (dsp *powerdnsProvider) EnsureZoneExists(domain string) error { } _, err := dsp.client.Zones().CreateZone(context.Background(), dsp.ServerName, zones.Zone{ - Name: canonical(domain), + Name: domainVariant, Type: zones.ZoneTypeZone, DNSSec: dsp.DNSSecOnCreate, Nameservers: dsp.DefaultNS, diff --git a/providers/powerdns/dnssec.go b/providers/powerdns/dnssec.go index cbc0560e6..efaa2ad52 100644 --- a/providers/powerdns/dnssec.go +++ b/providers/powerdns/dnssec.go @@ -40,7 +40,7 @@ func (dsp *powerdnsProvider) getDNSSECCorrections(dc *models.DomainConfig) ([]*m { Msg: "Disable DNSSEC", F: func() error { - return dsp.client.Cryptokeys().DeleteCryptokey(context.Background(), dsp.ServerName, dc.Name, keyID) + return dsp.client.Cryptokeys().DeleteCryptokey(context.Background(), dsp.ServerName, domainVariant, keyID) }, }, }, nil @@ -52,7 +52,7 @@ func (dsp *powerdnsProvider) getDNSSECCorrections(dc *models.DomainConfig) ([]*m { Msg: "Enable DNSSEC", F: func() (err error) { - _, err = dsp.client.Cryptokeys().CreateCryptokey(context.Background(), dsp.ServerName, dc.Name, cryptokeys.Cryptokey{ + _, err = dsp.client.Cryptokeys().CreateCryptokey(context.Background(), dsp.ServerName, domainVariant, cryptokeys.Cryptokey{ KeyType: "csk", Active: true, Published: true, diff --git a/providers/powerdns/powerdnsProvider.go b/providers/powerdns/powerdnsProvider.go index 0d0b13f95..3f285417c 100644 --- a/providers/powerdns/powerdnsProvider.go +++ b/providers/powerdns/powerdnsProvider.go @@ -68,10 +68,11 @@ type powerdnsProvider struct { // so dnscontrol "example.com!internal" becomes powerdns "example.com..internal" // See https://doc.powerdns.com/authoritative/views.html func (dsp *powerdnsProvider) zoneName(domain string, tag string) string { - if dsp.UseViews && tag == "" { - return canonical(domain) + "." + tag + base := canonical(domain) + if dsp.UseViews && tag != "" { + return base + "." + tag } - return canonical(domain) + return base } // newDSP initializes a PowerDNS DNSServiceProvider. diff --git a/providers/providers.go b/providers/providers.go index 7bb20830e..762e91bb8 100644 --- a/providers/providers.go +++ b/providers/providers.go @@ -22,7 +22,7 @@ type DNSServiceProvider interface { // ZoneCreator should be implemented by providers that have the ability to create zones // (used for automatically creating zones if they don't exist) type ZoneCreator interface { - EnsureZoneExists(domain string) error + EnsureZoneExists(domain string, metadata map[string]string) error } // ZoneLister should be implemented by providers that have the diff --git a/providers/realtimeregister/realtimeregisterProvider.go b/providers/realtimeregister/realtimeregisterProvider.go index 9c1fdadee..d5e2b5042 100644 --- a/providers/realtimeregister/realtimeregisterProvider.go +++ b/providers/realtimeregister/realtimeregisterProvider.go @@ -314,7 +314,7 @@ func parsePriority(priority int) int { return priority } -func (api *realtimeregisterAPI) EnsureZoneExists(domain string) error { +func (api *realtimeregisterAPI) EnsureZoneExists(domain string, metadata map[string]string) error { exists, err := api.zoneExists(domain) if err != nil { return err diff --git a/providers/route53/route53Provider.go b/providers/route53/route53Provider.go index 075ca79da..2139d1001 100644 --- a/providers/route53/route53Provider.go +++ b/providers/route53/route53Provider.go @@ -646,7 +646,7 @@ func unescape(s *string) string { return name } -func (r *route53Provider) EnsureZoneExists(domain string) error { +func (r *route53Provider) EnsureZoneExists(domain string, metadata map[string]string) error { if err := r.getZones(); err != nil { return err } diff --git a/providers/sakuracloud/listzones.go b/providers/sakuracloud/listzones.go index e408c4f67..65a63bce5 100644 --- a/providers/sakuracloud/listzones.go +++ b/providers/sakuracloud/listzones.go @@ -17,7 +17,7 @@ func (s *sakuracloudProvider) ListZones() ([]string, error) { } // EnsureZoneExists creates a zone if it does not exist -func (s *sakuracloudProvider) EnsureZoneExists(domain string) error { +func (s *sakuracloudProvider) EnsureZoneExists(domain string, metadata map[string]string) error { itemMap, err := s.api.GetCommonServiceItemMap() if err != nil { return err diff --git a/providers/vultr/vultrProvider.go b/providers/vultr/vultrProvider.go index 9c68adef6..f47b2c001 100644 --- a/providers/vultr/vultrProvider.go +++ b/providers/vultr/vultrProvider.go @@ -181,7 +181,7 @@ func (api *vultrProvider) GetNameservers(domain string) ([]*models.Nameserver, e } // EnsureZoneExists creates a zone if it does not exist -func (api *vultrProvider) EnsureZoneExists(domain string) error { +func (api *vultrProvider) EnsureZoneExists(domain string, metadata map[string]string) error { if ok, err := api.isDomainInAccount(domain); err != nil { return err } else if ok {