INNER CODE UNIT · Go
ParseMtbf
asobti/kube-monkey · internal/pkg/calendar/calendar.go:62
func ParseMtbf(value string) (time.Duration, error) {
match := mtbfPattern.FindStringSubmatch(value)
if match == nil {
return 0, fmt.Errorf("invalid mtbf %q: expected a whole number optionally followed by d, h or m", value)
}
amount, err := strconv.Atoi(match[1])
if err != nil {
return 0, fmt.Errorf("invalid mtbf %q: %v", value, err)
}
if amount == 0 {
return 0, fmt.Errorf("invalid mtbf %q: must be greater than zero", value)
}
var unit time.Duration
switch match[2] {
case "m":
unit = time.Minute