diff options
author | Martin Polden <mpolden@mpolden.no> | 2021-03-01 15:14:58 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2021-03-02 20:12:27 +0100 |
commit | 71fa6921afabcb113fe53446d2e56050e735e9c2 (patch) | |
tree | a7033f5f9f3db1dafcce6acc2d0468bc83025e3e /config-provisioning/src | |
parent | e49336237655b4adb7e4da5f29d6267a6d660ed2 (diff) |
Provision config servers dynamically
Diffstat (limited to 'config-provisioning/src')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java index e356ee06ac6..63ad6ae1237 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java @@ -75,4 +75,16 @@ public enum NodeType { public boolean canRun(NodeType type) { return childNodeTypes.contains(type); } + + /** Returns the host type of this */ + public NodeType hostType() { + if (isHost()) return this; + for (NodeType nodeType : values()) { + if (nodeType.childNodeTypes.size() == 1 && nodeType.canRun(this)) { + return nodeType; + } + } + throw new IllegalArgumentException("No host of " + this + " exists"); + } + } |