func operationsByZone(zones map[string]*dns.ZoneSummary, ops []dns.RecordOperation) map[string][]dns.RecordOperation {
	changes := make(map[string][]dns.RecordOperation)

	zoneNameIDMapper := zoneIDName{}
	for _, z := range zones {
		zoneNameIDMapper.Add(*z.Id, *z.Name)
		changes[*z.Id] = []dns.RecordOperation{}
	}

	for _, op := range ops {
		if zoneID, _ := zoneNameIDMapper.FindZone(*op.Domain); zoneID != "" {
			changes[zoneID] = append(changes[zoneID], op)
		} else {
			log.Warnf("No matching zone for record operation %s", op)
		}
	}

	// Remove zones that don't have any changes.
	for zone, ops := range changes {
		if len(ops) == 0 {
			delete(changes, zone)
		}
	}

	return changes
}
func operationsByZone(zones map[string]*dns.ZoneSummary, ops []dns.RecordOperation) map[string][]dns.RecordOperation {
	changes := make(map[string][]dns.RecordOperation)

	zoneNameIDMapper := zoneIDName{}
	for _, z := range zones {
		zoneNameIDMapper.Add(*z.Id, *z.Name)
		changes[*z.Id] = []dns.RecordOperation{}
	}

	for _, op := range ops {
		if zoneID, _ := zoneNameIDMapper.FindZone(*op.Domain); zoneID != "" {
			changes[zoneID] = append(changes[zoneID], op)
		} else {
			log.Warnf("No matching zone for record operation %s", op)
		}
	}

	
	for zone, ops := range changes {
		if len(ops) == 0 {
			delete(changes, zone)
		}
	}

	return changes
}
func operationsByZone ( zones map [ string ] * dns . ZoneSummary , ops [ ] dns . RecordOperation ) map [ string ] [ ] dns . RecordOperation { changes := make ( map [ string ] [ ] dns . RecordOperation ) zoneNameIDMapper := zoneIDName { } for _ , z := range zones { zoneNameIDMapper . Add ( * z . Id , * z . Name ) changes [ * z . Id ] = [ ] dns . RecordOperation { } } for _ , op := range ops { if zoneID , _ := zoneNameIDMapper . FindZone ( * op . Domain ) ; zoneID != " " { changes [ zoneID ] = append ( changes [ zoneID ] , op ) } else { log . Warnf ( " " , op ) } } // Remove zones that don't have any changes. for zone , ops := range changes { if len ( ops ) == 0 { delete ( changes , zone ) } } return changes }
// operationsByZone segments a slice of RecordOperations by their zone.
operationsByZone segments a slice of RecordOperations by their zone .