moved zoneForZoneName function into TransIPProvider struct

This commit is contained in:
Reinier Schoof 2019-05-07 12:02:00 +02:00
parent eca0025558
commit 18abcf56f1

View File

@ -80,27 +80,11 @@ func (p *TransIPProvider) ApplyChanges(changes *plan.Changes) error {
zonesByName[zone.Name] = zone zonesByName[zone.Name] = zone
} }
zoneForZoneName := func(name string, m zoneIDName, z map[string]transip.Domain) (zone transip.Domain, err error) {
_, zoneName := m.FindZone(name)
if zoneName == "" {
err = fmt.Errorf("could not find zoneName for %s", name)
return
}
var ok bool
zone, ok = zonesByName[zoneName]
if !ok {
err = fmt.Errorf("could not find zone for %s", zoneName)
}
return
}
// first see if we need to delete anything // first see if we need to delete anything
for _, ep := range changes.Delete { for _, ep := range changes.Delete {
log.WithFields(log.Fields{"record": ep.DNSName, "type": ep.RecordType}).Info("endpoint has to go") log.WithFields(log.Fields{"record": ep.DNSName, "type": ep.RecordType}).Info("endpoint has to go")
zone, err := zoneForZoneName(ep.DNSName, zoneNameMapper, zonesByName) zone, err := p.zoneForZoneName(ep.DNSName, zoneNameMapper, zonesByName)
if err != nil { if err != nil {
log.Errorf("could not find zone for %s: %s", ep.DNSName, err.Error()) log.Errorf("could not find zone for %s: %s", ep.DNSName, err.Error())
continue continue
@ -121,7 +105,7 @@ func (p *TransIPProvider) ApplyChanges(changes *plan.Changes) error {
for _, ep := range changes.Create { for _, ep := range changes.Create {
log.WithFields(log.Fields{"record": ep.DNSName, "type": ep.RecordType}).Info("endpoint is missing") log.WithFields(log.Fields{"record": ep.DNSName, "type": ep.RecordType}).Info("endpoint is missing")
zone, err := zoneForZoneName(ep.DNSName, zoneNameMapper, zonesByName) zone, err := p.zoneForZoneName(ep.DNSName, zoneNameMapper, zonesByName)
if err != nil { if err != nil {
log.Errorf("could not find zone for %s: %s", ep.DNSName, err.Error()) log.Errorf("could not find zone for %s: %s", ep.DNSName, err.Error())
continue continue
@ -142,7 +126,7 @@ func (p *TransIPProvider) ApplyChanges(changes *plan.Changes) error {
for _, ep := range changes.UpdateNew { for _, ep := range changes.UpdateNew {
log.WithFields(log.Fields{"record": ep.DNSName, "type": ep.RecordType}).Debug("needs updating") log.WithFields(log.Fields{"record": ep.DNSName, "type": ep.RecordType}).Debug("needs updating")
zone, err := zoneForZoneName(ep.DNSName, zoneNameMapper, zonesByName) zone, err := p.zoneForZoneName(ep.DNSName, zoneNameMapper, zonesByName)
if err != nil { if err != nil {
log.WithFields(log.Fields{"record": ep.DNSName}).Warn(err.Error()) log.WithFields(log.Fields{"record": ep.DNSName}).Warn(err.Error())
continue continue
@ -371,3 +355,19 @@ func (p *TransIPProvider) addEndpointToEntries(ep *endpoint.Endpoint, zone trans
return entries return entries
} }
// zoneForZoneName returns the zone mapped to given name or error if zone could
// not be found
func (p *TransIPProvider) zoneForZoneName(name string, m zoneIDName, z map[string]transip.Domain) (transip.Domain, error) {
_, zoneName := m.FindZone(name)
if zoneName == "" {
return transip.Domain{}, fmt.Errorf("could not find zoneName for %s", name)
}
zone, ok := z[zoneName]
if !ok {
return zone, fmt.Errorf("could not find zone for %s", zoneName)
}
return zone, nil
}