Files
jpictl/pkg/zones/scan.go
T
amery 1ea1ab4ac4 zones: add initial m/ scanner
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-21 21:33:33 +00:00

52 lines
692 B
Go

package zones
import (
"io/fs"
)
func (m *Zones) scan() error {
// each directory is a zone
entries, err := fs.ReadDir(m.dir, ".")
if err != nil {
return err
}
for _, e := range entries {
if e.IsDir() {
z := &Zone{
zones: m,
Name: e.Name(),
}
if err := z.scan(); err != nil {
return err
}
m.Zones = append(m.Zones, z)
}
}
return nil
}
func (z *Zone) scan() error {
// each directory is a machine
entries, err := fs.ReadDir(z.zones.dir, z.Name)
if err != nil {
return err
}
for _, e := range entries {
if e.IsDir() {
m := &Machine{
zone: z,
Name: e.Name(),
}
z.Machines = append(z.Machines, m)
}
}
return nil
}