package creds import "fmt" type Mode string const ( Auto Mode = "auto" Online Mode = "online" Local Mode = "local" ) func ParseMode(s string) (Mode, error) { switch Mode(s) { case Auto, Online, Local: return Mode(s), nil default: return "", fmt.Errorf("invalid mode %q: want \"auto\", \"online\" or \"local\"", s) } } func Resolve(mode Mode) Mode { if mode != Auto { return mode } if HasLocalData() { return Local } return Online }