package jobs import ( "io" "os" "gopkg.in/yaml.v3" ) type JobsRoot struct { Jobs []BackupJob `yaml:"jobs"` } func Parse(reader io.Reader) ([]BackupJob, error) { dec := yaml.NewDecoder(reader) var jobsRoot JobsRoot err := dec.Decode(&jobsRoot) return jobsRoot.Jobs, err } func ParseFile(path string) ([]BackupJob, error) { f, err := os.Open(path) if err != nil { return nil, err } return Parse(f) }