package api // StatusKind indicates the severity of a status type StatusKind int32 const ( // StatusSeverityLow indicates an OK status StatusSeverityLow StatusKind = iota // StatusSeverityMedium indicates a status which is in transition from OK to BAD or vice versa StatusSeverityMedium // StatusSeverityHigh indicates a BAD status StatusSeverityHigh ) var statusToStatusKind = map[Status]StatusKind{ Status_STATUS_NONE: StatusSeverityHigh, Status_STATUS_INIT: StatusSeverityMedium, Status_STATUS_OK: StatusSeverityLow, Status_STATUS_OFFLINE: StatusSeverityHigh, Status_STATUS_ERROR: StatusSeverityHigh, Status_STATUS_NOT_IN_QUORUM: StatusSeverityHigh, Status_STATUS_DECOMMISSION: StatusSeverityHigh, Status_STATUS_MAINTENANCE: StatusSeverityHigh, Status_STATUS_STORAGE_DOWN: StatusSeverityHigh, Status_STATUS_STORAGE_DEGRADED: StatusSeverityHigh, Status_STATUS_NEEDS_REBOOT: StatusSeverityHigh, Status_STATUS_STORAGE_REBALANCE: StatusSeverityMedium, Status_STATUS_STORAGE_DRIVE_REPLACE: StatusSeverityMedium, // Add statuses before MAX Status_STATUS_MAX: StatusSeverityHigh, } // StatusSimpleValueOf returns the string format of Status func StatusSimpleValueOf(s string) (Status, error) { obj, err := simpleValueOf("status", Status_value, s) return Status(obj), err } // SimpleString returns the string format of Status func (x Status) SimpleString() string { return simpleString("status", Status_name, int32(x)) } // StatusKind returns the king of status func (x Status) StatusKind() StatusKind { statusType, _ := statusToStatusKind[x] return statusType } // StatusKindMapLength used only for unit testing func StatusKindMapLength() int { return len(statusToStatusKind) }