// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.provision;

/**
 * The possible types of nodes in the node repository
 * 
 * @author bratseth
 */
public enum NodeType {

    /** A host of a set of (docker) tenant nodes */
    host(true),

    /** Nodes running the shared proxy layer */
    proxy(false),

    /** A host of a (docker) proxy node */
    proxyhost(true),

    /** A node to be assigned to a tenant to run application workloads */
    tenant(false),

    /** A config server */
    config(false),

    /** A host of a (docker) config server node */
    confighost(true);

    private boolean isDockerHost;

    NodeType(boolean isDockerHost) {
        this.isDockerHost = isDockerHost;
    }

    public boolean isDockerHost() {
        return isDockerHost;
    }
}

@@ -259,16 +259,125 @@
 Type %7B%0A%0A
+    /** A node to be assigned to a tenant to run application workloads */%0A    tenant(false, %22Tenant node%22),%0A%0A
     /** 
@@ -425,32 +425,54 @@
 */%0A    host(true
+, %22Tenant docker host%22
 ),%0A%0A    /** Node
@@ -518,24 +518,38 @@
  proxy(false
+, %22Proxy node%22
 ),%0A%0A    /** 
@@ -605,102 +605,29 @@
 true
-),%0A%0A    /** A node to be assigned to a tenant to run application workloads */%0A    tenant(false
+, %22Proxy docker host%22
 ),%0A%0A
@@ -669,16 +669,33 @@
 ig(false
+, %22Config server%22
 ),%0A%0A    
@@ -760,16 +760,38 @@
 ost(true
+, %22Config docker host%22
 );%0A%0A    
@@ -798,16 +798,22 @@
 private 
+final 
 boolean 
@@ -825,16 +825,54 @@
 kerHost;
+%0A    private final String description;
 %0A%0A    No
@@ -898,16 +898,36 @@
 ckerHost
+, String description
 ) %7B%0A    
@@ -960,24 +960,64 @@
 DockerHost;%0A
+        this.description = description;%0A
     %7D%0A%0A    p
@@ -1082,10 +1082,80 @@
 ;%0A    %7D%0A
+%0A    public String description() %7B%0A        return description;%0A    %7D%0A%0A
 %7D%0A

Add descriptive name to each node type