Browse Source

Merge pull request #3722 from prometheus/reusable-rulefmt

rulefmt: Allow parsing from bytes instead of file
pull/3723/head
Goutham Veeramachaneni 7 years ago committed by GitHub
parent
commit
84e462ae24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 17
      pkg/rulefmt/rulefmt.go

17
pkg/rulefmt/rulefmt.go

@ -174,15 +174,20 @@ func checkOverflow(m map[string]interface{}, ctx string) error {
return nil
}
// ParseFile parses the rule file and validates it.
// Parse parses and validates a set of rules.
func Parse(content []byte) (*RuleGroups, []error) {
var groups RuleGroups
if err := yaml.Unmarshal(content, &groups); err != nil {
return nil, []error{err}
}
return &groups, groups.Validate()
}
// ParseFile reads and parses rules from a file.
func ParseFile(file string) (*RuleGroups, []error) {
b, err := ioutil.ReadFile(file)
if err != nil {
return nil, []error{err}
}
var groups RuleGroups
if err := yaml.Unmarshal(b, &groups); err != nil {
return nil, []error{err}
}
return &groups, groups.Validate()
return Parse(b)
}

Loading…
Cancel
Save