diff options
Diffstat (limited to 'vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/ClusterType.java')
-rw-r--r-- | vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/ClusterType.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/ClusterType.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/ClusterType.java new file mode 100644 index 00000000000..ab14c41e314 --- /dev/null +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/ClusterType.java @@ -0,0 +1,36 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +package com.yahoo.vespa.athenz.identityprovider.api; + +/** + * Vespa cluster type + * + * @author bjorncs + */ +public enum ClusterType { + ADMIN, + CONTAINER, + CONTENT, + COMBINED; + + public static ClusterType from(String cfgValue) { + return switch (cfgValue) { + case "admin" -> ADMIN; + case "container" -> CONTAINER; + case "content" -> CONTENT; + case "combined" -> COMBINED; + default -> throw new IllegalArgumentException("Illegal cluster type '" + cfgValue + "'"); + }; + } + + public String toConfigValue() { + return switch (this) { + case ADMIN -> "admin"; + case CONTAINER -> "container"; + case CONTENT -> "content"; + case COMBINED -> "combined"; + }; + } + +} + |