code: func (p designateProvider) getZones() (map[string]string, error) {
  	result := map[string]string{}
  
  	err := p.client.ForEachZone(
  		func(zone *zones.Zone) error {
  			if zone.Type != "" && strings.ToUpper(zone.Type) != "PRIMARY" || zone.Status != "ACTIVE" {
  				return nil
  			}
  
  			zoneName := canonicalizeDomainName(zone.Name)
  			if !p.domainFilter.Match(zoneName) {
  				return nil
  			}
  			result[zone.ID] = zoneName
  			return nil
  		},
  	)
  
  	return result, err
  }
docs: // returns ZoneID -> ZoneName mapping for zones that are managed by the Designate and match domain filter