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

53 lines
1.4 KiB
Go

package models
import (
"errors"
)
// Possible values for site security level.
type SiteSecurityLevel int
const (
// User Defined, default value, no intent.
USERDEFINED_SITESECURITYLEVEL SiteSecurityLevel = iota
// Low.
LOW_SITESECURITYLEVEL
// Medium-low.
MEDIUMLOW_SITESECURITYLEVEL
// Medium.
MEDIUM_SITESECURITYLEVEL
// Medium-high.
MEDIUMHIGH_SITESECURITYLEVEL
// High.
HIGH_SITESECURITYLEVEL
)
func (i SiteSecurityLevel) String() string {
return []string{"userDefined", "low", "mediumLow", "medium", "mediumHigh", "high"}[i]
}
func ParseSiteSecurityLevel(v string) (any, error) {
result := USERDEFINED_SITESECURITYLEVEL
switch v {
case "userDefined":
result = USERDEFINED_SITESECURITYLEVEL
case "low":
result = LOW_SITESECURITYLEVEL
case "mediumLow":
result = MEDIUMLOW_SITESECURITYLEVEL
case "medium":
result = MEDIUM_SITESECURITYLEVEL
case "mediumHigh":
result = MEDIUMHIGH_SITESECURITYLEVEL
case "high":
result = HIGH_SITESECURITYLEVEL
default:
return 0, errors.New("Unknown SiteSecurityLevel value: " + v)
}
return &result, nil
}
func SerializeSiteSecurityLevel(values []SiteSecurityLevel) []string {
result := make([]string, len(values))
for i, v := range values {
result[i] = v.String()
}
return result
}