aboutsummaryrefslogtreecommitdiffstats
path: root/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/ClusterType.java
diff options
context:
space:
mode:
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.java36
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";
+ };
+ }
+
+}
+