esxi-monitor/cmd/watchdog/config.go

36 lines
538 B
Go
Executable File

package main
import (
"io"
"os"
"gopkg.in/yaml.v3"
)
type (
config struct {
User string `yaml:"user"`
Password string `yaml:"password"`
Watch []*watchVm `yaml:"watch"`
}
watchVm struct {
Name string `yaml:"name"`
Addr string `yaml:"addr"`
}
)
func parseConfig(file string) (*config, error) {
cfgFile, err := os.Open(file)
if err != nil {
return nil, err
}
cfgBytes, err := io.ReadAll(cfgFile)
if err != nil {
return nil, err
}
var cfg config
return &cfg, yaml.Unmarshal(cfgBytes, &cfg)
}