func (p *GoogleProvider) Zones() (map[string]*dns.ManagedZone, error) {
	zones := make(map[string]*dns.ManagedZone)

	f := func(resp *dns.ManagedZonesListResponse) error {
		for _, zone := range resp.ManagedZones {
			if p.domainFilter.Match(zone.DnsName) && p.zoneIDFilter.Match(fmt.Sprintf("%v", zone.Id)) {
				zones[zone.Name] = zone
				log.Debugf("Matched %s (zone: %s)", zone.DnsName, zone.Name)
			} else {
				log.Debugf("Filtered %s (zone: %s)", zone.DnsName, zone.Name)
			}
		}

		return nil
	}

	log.Debugf("Matching zones against domain filters: %v", p.domainFilter.filters)
	if err := p.managedZonesClient.List(p.project).Pages(context.TODO(), f); err != nil {
		return nil, err
	}

	if len(zones) == 0 {
		if p.domainFilter.IsConfigured() {
			log.Warnf("No zones in the project, %s, match domain filters: %v", p.project, p.domainFilter.filters)
		} else {
			log.Warnf("No zones found in the project, %s", p.project)
		}
	}

	for _, zone := range zones {
		log.Debugf("Considering zone: %s (domain: %s)", zone.Name, zone.DnsName)
	}

	return zones, nil
}
func (p *GoogleProvider) Zones() (map[string]*dns.ManagedZone, error) {
	zones := make(map[string]*dns.ManagedZone)

	f := func(resp *dns.ManagedZonesListResponse) error {
		for _, zone := range resp.ManagedZones {
			if p.domainFilter.Match(zone.DnsName) && p.zoneIDFilter.Match(fmt.Sprintf("%v", zone.Id)) {
				zones[zone.Name] = zone
				log.Debugf("Matched %s (zone: %s)", zone.DnsName, zone.Name)
			} else {
				log.Debugf("Filtered %s (zone: %s)", zone.DnsName, zone.Name)
			}
		}

		return nil
	}

	log.Debugf("Matching zones against domain filters: %v", p.domainFilter.filters)
	if err := p.managedZonesClient.List(p.project).Pages(context.TODO(), f); err != nil {
		return nil, err
	}

	if len(zones) == 0 {
		if p.domainFilter.IsConfigured() {
			log.Warnf("No zones in the project, %s, match domain filters: %v", p.project, p.domainFilter.filters)
		} else {
			log.Warnf("No zones found in the project, %s", p.project)
		}
	}

	for _, zone := range zones {
		log.Debugf("Considering zone: %s (domain: %s)", zone.Name, zone.DnsName)
	}

	return zones, nil
}
func ( p * GoogleProvider ) Zones ( ) ( map [ string ] * dns . ManagedZone , error ) { zones := make ( map [ string ] * dns . ManagedZone ) f := func ( resp * dns . ManagedZonesListResponse ) error { for _ , zone := range resp . ManagedZones { if p . domainFilter . Match ( zone . DnsName ) && p . zoneIDFilter . Match ( fmt . Sprintf ( " " , zone . Id ) ) { zones [ zone . Name ] = zone log . Debugf ( " " , zone . DnsName , zone . Name ) } else { log . Debugf ( " " , zone . DnsName , zone . Name ) } } return nil } log . Debugf ( " " , p . domainFilter . filters ) if err := p . managedZonesClient . List ( p . project ) . Pages ( context . TODO ( ) , f ) ; err != nil { return nil , err } if len ( zones ) == 0 { if p . domainFilter . IsConfigured ( ) { log . Warnf ( " " , p . project , p . domainFilter . filters ) } else { log . Warnf ( " " , p . project ) } } for _ , zone := range zones { log . Debugf ( " " , zone . Name , zone . DnsName ) } return zones , nil }
// Zones returns the list of hosted zones.
Zones returns the list of hosted zones .