Merge pull request #124 from prometheus/fabxc/yaml

Add YAML parsing for LabelName
This commit is contained in:
Björn Rabenstein 2015-05-20 16:14:36 +02:00
commit 83c790e949
1 changed files with 15 additions and 0 deletions

View File

@ -14,6 +14,8 @@
package model package model
import ( import (
"fmt"
"regexp"
"strings" "strings"
) )
@ -63,6 +65,19 @@ const (
// therewith. // therewith.
type LabelName string type LabelName string
// UnmarshalYAML implements the yaml.Unmarshaler interface.
func (ln *LabelName) UnmarshalYAML(unmarshal func(interface{}) error) error {
var s string
if err := unmarshal(&s); err != nil {
return err
}
if !labelNameRE.MatchString(s) {
return fmt.Errorf("%q is not a valid label name", s)
}
*ln = LabelName(s)
return nil
}
// LabelNames is a sortable LabelName slice. In implements sort.Interface. // LabelNames is a sortable LabelName slice. In implements sort.Interface.
type LabelNames []LabelName type LabelNames []LabelName