From be9da490fff1d22e5b9a691d2fd57a0ba33add12 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Tue, 22 Aug 2023 00:36:47 +0000 Subject: [PATCH] zones: adds ForEachMachine() iterator Signed-off-by: Alejandro Mery --- pkg/zones/zones.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkg/zones/zones.go b/pkg/zones/zones.go index 51e25a1..a6df546 100644 --- a/pkg/zones/zones.go +++ b/pkg/zones/zones.go @@ -31,6 +31,15 @@ type Zones struct { Zones []*Zone `toml:"zones"` } +// ForEachMachine calls a function for each Machine in the cluster +func (m *Zones) ForEachMachine(fn func(*Machine)) { + for _, z := range m.Zones { + for _, p := range z.Machines { + fn(p) + } + } +} + // NewFS builds a [Zones] tree using the given directory func NewFS(dir fs.FS, domain string) (*Zones, error) { z := &Zones{