1package aws 2 3import ( 4 "fmt" 5) 6 7// Ternary is an enum allowing an unknown or none state in addition to a bool's 8// true and false. 9type Ternary int 10 11func (t Ternary) String() string { 12 switch t { 13 case UnknownTernary: 14 return "unknown" 15 case FalseTernary: 16 return "false" 17 case TrueTernary: 18 return "true" 19 default: 20 return fmt.Sprintf("unknown value, %d", int(t)) 21 } 22} 23 24// Bool returns true if the value is TrueTernary, false otherwise. 25func (t Ternary) Bool() bool { 26 return t == TrueTernary 27} 28 29// Enumerations for the values of the Ternary type. 30const ( 31 UnknownTernary Ternary = iota 32 FalseTernary 33 TrueTernary 34) 35 36// BoolTernary returns a true or false Ternary value for the bool provided. 37func BoolTernary(v bool) Ternary { 38 if v { 39 return TrueTernary 40 } 41 return FalseTernary 42} 43