1
0
mirror of https://github.com/openshift/installer.git synced 2026-02-05 15:47:14 +01:00
Files
2024-04-04 21:23:02 +02:00

44 lines
1.1 KiB
Go

package models
import (
"errors"
)
//
type TaskStatus int
const (
NOTSTARTED_TASKSTATUS TaskStatus = iota
INPROGRESS_TASKSTATUS
COMPLETED_TASKSTATUS
WAITINGONOTHERS_TASKSTATUS
DEFERRED_TASKSTATUS
)
func (i TaskStatus) String() string {
return []string{"notStarted", "inProgress", "completed", "waitingOnOthers", "deferred"}[i]
}
func ParseTaskStatus(v string) (any, error) {
result := NOTSTARTED_TASKSTATUS
switch v {
case "notStarted":
result = NOTSTARTED_TASKSTATUS
case "inProgress":
result = INPROGRESS_TASKSTATUS
case "completed":
result = COMPLETED_TASKSTATUS
case "waitingOnOthers":
result = WAITINGONOTHERS_TASKSTATUS
case "deferred":
result = DEFERRED_TASKSTATUS
default:
return 0, errors.New("Unknown TaskStatus value: " + v)
}
return &result, nil
}
func SerializeTaskStatus(values []TaskStatus) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}