You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ri...@apache.org on 2015/11/23 23:20:16 UTC

svn commit: r1715982 [3/3] - in /incubator/brooklyn/site: ./ community/ developers/ developers/committers/ developers/committers/release-process/ documentation/ download/ learnmore/ learnmore/catalog/ learnmore/features/ meta/ style/js/catalog/

Modified: incubator/brooklyn/site/style/js/catalog/items.js
URL: http://svn.apache.org/viewvc/incubator/brooklyn/site/style/js/catalog/items.js?rev=1715982&r1=1715981&r2=1715982&view=diff
==============================================================================
--- incubator/brooklyn/site/style/js/catalog/items.js (original)
+++ incubator/brooklyn/site/style/js/catalog/items.js Mon Nov 23 22:20:15 2015
@@ -551,7 +551,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -1128,6 +1128,26 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "cluster.member.id",
+      "type" : "java.lang.Integer",
+      "defaultValue" : null,
+      "description" : "The unique ID number (sequential) of a member of a cluster",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "commands",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "commands",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "dynamiccluster.availabilityZones",
       "type" : "java.util.Collection",
       "defaultValue" : null,
@@ -1220,7 +1240,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.failureDetector",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$ZoneFailureDetector",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@48908c52",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@9670177",
       "description" : "Zone failure detector",
       "reconfigurable" : false,
       "label" : null,
@@ -1230,7 +1250,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.placementStrategy",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$NodePlacementStrategy",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@2bcd7473",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@1a248b0e",
       "description" : "Node placement strategy",
       "reconfigurable" : false,
       "label" : null,
@@ -1475,7 +1495,7 @@ var items = {
       "parameters" : [ {
         "name" : "commands",
         "type" : "java.lang.String",
-        "description" : null,
+        "description" : "commands",
         "defaultValue" : null
       } ],
       "description" : "executes the given script contents using cassandra-cli",
@@ -1750,16 +1770,6 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
-      "name" : "cassandra.token",
-      "type" : "java.math.BigInteger",
-      "defaultValue" : null,
-      "description" : "Cassandra Token",
-      "reconfigurable" : false,
-      "label" : null,
-      "priority" : null,
-      "possibleValues" : null,
-      "links" : null
-    }, {
       "name" : "cassandra.tokens",
       "type" : "java.util.Set",
       "defaultValue" : null,
@@ -1795,6 +1805,16 @@ var items = {
       } ],
       "links" : null
     }, {
+      "name" : "commands",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "commands",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "customize.latch",
       "type" : "java.lang.Boolean",
       "defaultValue" : null,
@@ -2295,7 +2315,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -2459,11 +2479,6 @@ var items = {
       "description" : "Cassandra Thrift RPC port",
       "links" : { }
     }, {
-      "name" : "cassandra.token",
-      "type" : "java.math.BigInteger",
-      "description" : "Cassandra Token",
-      "links" : { }
-    }, {
       "name" : "cassandra.tokens",
       "type" : "java.util.Set",
       "description" : "Cassandra Tokens",
@@ -2705,7 +2720,7 @@ var items = {
       "parameters" : [ {
         "name" : "commands",
         "type" : "java.lang.String",
-        "description" : null,
+        "description" : "commands",
         "defaultValue" : null
       } ],
       "description" : "executes the given script contents using cassandra-cli",
@@ -3252,7 +3267,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -4060,7 +4075,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -4370,7 +4385,7 @@ var items = {
     "effectors" : [ ]
   }, {
     "type" : "org.apache.brooklyn.entity.brooklynnode.BrooklynNode",
-    "defaultVersion" : "0.8.0-incubating",
+    "defaultVersion" : "0.9.0-SNAPSHOT",
     "name" : "Brooklyn Node",
     "description" : "Deploys a Brooklyn management server",
     "iconUrl" : "",
@@ -4518,7 +4533,7 @@ var items = {
       "name" : "brooklynnode.download.archive.subpath",
       "type" : "java.lang.String",
       "defaultValue" : null,
-      "description" : "Path to the main directory in the archive being supplied for installation; to use the root of an archive, specify '.'; default value taken based on download URL (e.g. 'name' for 'http://path/name.tgz' or 'http://path/name-dist.tgz') falling back to an appropriate value for brooklyn, e.g. 'brooklyn-0.8.0-incubating'",
+      "description" : "Path to the main directory in the archive being supplied for installation; to use the root of an archive, specify '.'; default value taken based on download URL (e.g. 'name' for 'http://path/name.tgz' or 'http://path/name-dist.tgz') falling back to an appropriate value for brooklyn, e.g. 'brooklyn-0.9.0-SNAPSHOT'",
       "reconfigurable" : false,
       "label" : null,
       "priority" : null,
@@ -4854,7 +4869,7 @@ var items = {
     }, {
       "name" : "install.version",
       "type" : "java.lang.String",
-      "defaultValue" : "0.8.0-incubating",
+      "defaultValue" : "0.9.0-SNAPSHOT",
       "description" : "Suggested version",
       "reconfigurable" : false,
       "label" : null,
@@ -5044,7 +5059,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -5906,6 +5921,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "cluster.member.id",
+      "type" : "java.lang.Integer",
+      "defaultValue" : null,
+      "description" : "The unique ID number (sequential) of a member of a cluster",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "couchbase.adminPassword",
       "type" : "java.lang.String",
       "defaultValue" : "Password",
@@ -6078,7 +6103,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.failureDetector",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$ZoneFailureDetector",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@48908c52",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@9670177",
       "description" : "Zone failure detector",
       "reconfigurable" : false,
       "label" : null,
@@ -6088,7 +6113,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.placementStrategy",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$NodePlacementStrategy",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@2bcd7473",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@1a248b0e",
       "description" : "Node placement strategy",
       "reconfigurable" : false,
       "label" : null,
@@ -6848,7 +6873,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -7671,7 +7696,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -7996,6 +8021,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "cluster.member.id",
+      "type" : "java.lang.Integer",
+      "defaultValue" : null,
+      "description" : "The unique ID number (sequential) of a member of a cluster",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "dynamiccluster.availabilityZones",
       "type" : "java.util.Collection",
       "defaultValue" : null,
@@ -8088,7 +8123,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.failureDetector",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$ZoneFailureDetector",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@48908c52",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@9670177",
       "description" : "Zone failure detector",
       "reconfigurable" : false,
       "label" : null,
@@ -8098,7 +8133,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.placementStrategy",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$NodePlacementStrategy",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@2bcd7473",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@1a248b0e",
       "description" : "Node placement strategy",
       "reconfigurable" : false,
       "label" : null,
@@ -8553,6 +8588,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "cluster.member.id",
+      "type" : "java.lang.Integer",
+      "defaultValue" : null,
+      "description" : "The unique ID number (sequential) of a member of a cluster",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "dynamiccluster.availabilityZones",
       "type" : "java.util.Collection",
       "defaultValue" : null,
@@ -8645,7 +8690,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.failureDetector",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$ZoneFailureDetector",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@48908c52",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@9670177",
       "description" : "Zone failure detector",
       "reconfigurable" : false,
       "label" : null,
@@ -8655,7 +8700,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.placementStrategy",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$NodePlacementStrategy",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@2bcd7473",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@1a248b0e",
       "description" : "Node placement strategy",
       "reconfigurable" : false,
       "label" : null,
@@ -9250,7 +9295,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -10041,7 +10086,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -10831,7 +10876,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -11824,7 +11869,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -12854,7 +12899,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -13507,7 +13552,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -13780,6 +13825,16 @@ var items = {
       } ],
       "links" : null
     }, {
+      "name" : "commands",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "commands",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "customize.latch",
       "type" : "java.lang.Boolean",
       "defaultValue" : null,
@@ -14172,7 +14227,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -14362,7 +14417,7 @@ var items = {
       "parameters" : [ {
         "name" : "commands",
         "type" : "java.lang.String",
-        "description" : null,
+        "description" : "commands",
         "defaultValue" : null
       } ],
       "description" : "executes the given script contents",
@@ -14599,6 +14654,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "mongodb.authentication.database",
+      "type" : "java.lang.String",
+      "defaultValue" : "admin",
+      "description" : "Database to be used to store authentication details (if used)",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "mongodb.config.url",
       "type" : "java.lang.String",
       "defaultValue" : "classpath://org/apache/brooklyn/entity/nosql/mongodb/default.conf",
@@ -14619,6 +14684,46 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "mongodb.keyfile.contents",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Contents of the keyfile used for authentication. If mongodb.keyfile.contents and mongodb.keyfile.url are both set, mongodb.keyfile.contents will take precedence",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "mongodb.keyfile.url",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Location of the keyfile used for authentication. If mongodb.keyfile.contents and mongodb.keyfile.url are both set, mongodb.keyfile.contents will take precedence",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "mongodb.root.password",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Password for the initial admin user, auto-generated if not set",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "mongodb.root.username",
+      "type" : "java.lang.String",
+      "defaultValue" : "superuser",
+      "description" : "Username of the initial admin user",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "mongodb.router.config.servers",
       "type" : "java.lang.Iterable",
       "defaultValue" : null,
@@ -14761,7 +14866,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -14880,6 +14985,26 @@ var items = {
       "description" : "Directory for this software to be installed in",
       "links" : { }
     }, {
+      "name" : "mongodb.authentication.database",
+      "type" : "java.lang.String",
+      "description" : "Database to be used to store authentication details (if used)",
+      "links" : { }
+    }, {
+      "name" : "mongodb.keyfile.destination",
+      "type" : "java.lang.String",
+      "description" : "Destination of the keyfile used for authentication on the target server",
+      "links" : { }
+    }, {
+      "name" : "mongodb.root.password",
+      "type" : "java.lang.String",
+      "description" : "Password for the initial admin user, auto-generated if not set",
+      "links" : { }
+    }, {
+      "name" : "mongodb.root.username",
+      "type" : "java.lang.String",
+      "description" : "Username of the initial admin user",
+      "links" : { }
+    }, {
       "name" : "mongodb.router.config.shard.count",
       "type" : "java.lang.Integer",
       "description" : "Number of shards that have been added",
@@ -15162,6 +15287,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "mongodb.authentication.database",
+      "type" : "java.lang.String",
+      "defaultValue" : "admin",
+      "description" : "Database to be used to store authentication details (if used)",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "mongodb.config.enable_rest",
       "type" : "java.lang.Boolean",
       "defaultValue" : false,
@@ -15192,6 +15327,26 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "mongodb.keyfile.contents",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Contents of the keyfile used for authentication. If mongodb.keyfile.contents and mongodb.keyfile.url are both set, mongodb.keyfile.contents will take precedence",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "mongodb.keyfile.url",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Location of the keyfile used for authentication. If mongodb.keyfile.contents and mongodb.keyfile.url are both set, mongodb.keyfile.contents will take precedence",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "mongodb.replicaset",
       "type" : "org.apache.brooklyn.entity.nosql.mongodb.MongoDBReplicaSet",
       "defaultValue" : null,
@@ -15202,6 +15357,26 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "mongodb.root.password",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Password for the initial admin user, auto-generated if not set",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "mongodb.root.username",
+      "type" : "java.lang.String",
+      "defaultValue" : "superuser",
+      "description" : "Username of the initial admin user",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "mongodb.server.httpPort",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "defaultValue" : "28017-65535",
@@ -15344,7 +15519,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -15463,6 +15638,26 @@ var items = {
       "description" : "Directory for this software to be installed in",
       "links" : { }
     }, {
+      "name" : "mongodb.authentication.database",
+      "type" : "java.lang.String",
+      "description" : "Database to be used to store authentication details (if used)",
+      "links" : { }
+    }, {
+      "name" : "mongodb.keyfile.destination",
+      "type" : "java.lang.String",
+      "description" : "Destination of the keyfile used for authentication on the target server",
+      "links" : { }
+    }, {
+      "name" : "mongodb.root.password",
+      "type" : "java.lang.String",
+      "description" : "Password for the initial admin user, auto-generated if not set",
+      "links" : { }
+    }, {
+      "name" : "mongodb.root.username",
+      "type" : "java.lang.String",
+      "description" : "Username of the initial admin user",
+      "links" : { }
+    }, {
       "name" : "mongodb.server.endpoint",
       "type" : "java.lang.String",
       "description" : "The host:port where this server is listening",
@@ -16108,7 +16303,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -16328,6 +16523,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "cluster.member.id",
+      "type" : "java.lang.Integer",
+      "defaultValue" : null,
+      "description" : "The unique ID number (sequential) of a member of a cluster",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "dynamiccluster.availabilityZones",
       "type" : "java.util.Collection",
       "defaultValue" : null,
@@ -16420,7 +16625,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.failureDetector",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$ZoneFailureDetector",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@48908c52",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@9670177",
       "description" : "Zone failure detector",
       "reconfigurable" : false,
       "label" : null,
@@ -16430,7 +16635,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.placementStrategy",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$NodePlacementStrategy",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@2bcd7473",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@1a248b0e",
       "description" : "Node placement strategy",
       "reconfigurable" : false,
       "label" : null,
@@ -16478,6 +16683,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "mysql.replication.preferred_source",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "ID of node to get the replication snapshot from. If not set a random slave is used, falling back to master if no slaves.",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "mysql.slave.password",
       "type" : "java.lang.String",
       "defaultValue" : null,
@@ -16489,9 +16704,9 @@ var items = {
       "links" : null
     }, {
       "name" : "mysql.slave.replicate_do_db",
-      "type" : "java.lang.String",
+      "type" : "java.util.Collection",
       "defaultValue" : null,
-      "description" : "Replicate only listed DBs",
+      "description" : "Replicate only listed DBs. Use together with 'mysql.slave.replicate_dump_db'.",
       "reconfigurable" : false,
       "label" : null,
       "priority" : null,
@@ -16499,9 +16714,19 @@ var items = {
       "links" : null
     }, {
       "name" : "mysql.slave.replicate_do_table",
-      "type" : "java.lang.String",
+      "type" : "java.util.Collection",
       "defaultValue" : null,
-      "description" : "Replicate only listed tables",
+      "description" : "Replicate only listed tables. Use together with 'mysql.slave.replicate_dump_db'.",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "mysql.slave.replicate_dump_db",
+      "type" : "java.util.Collection",
+      "defaultValue" : null,
+      "description" : "Databases to pass to the mysqldump command, used for slave initialization",
       "reconfigurable" : false,
       "label" : null,
       "priority" : null,
@@ -16509,9 +16734,9 @@ var items = {
       "links" : null
     }, {
       "name" : "mysql.slave.replicate_ignore_db",
-      "type" : "java.lang.String",
+      "type" : "java.util.Collection",
       "defaultValue" : null,
-      "description" : "Don't replicate listed DBs",
+      "description" : "Don't replicate listed DBs. Use together with 'mysql.slave.replicate_dump_db'.",
       "reconfigurable" : false,
       "label" : null,
       "priority" : null,
@@ -16519,9 +16744,9 @@ var items = {
       "links" : null
     }, {
       "name" : "mysql.slave.replicate_ignore_table",
-      "type" : "java.lang.String",
+      "type" : "java.util.Collection",
       "defaultValue" : null,
-      "description" : "Don't replicate listed tables",
+      "description" : "Don't replicate listed tables. Use together with 'mysql.slave.replicate_dump_db'.",
       "reconfigurable" : false,
       "label" : null,
       "priority" : null,
@@ -16529,9 +16754,9 @@ var items = {
       "links" : null
     }, {
       "name" : "mysql.slave.replicate_wild_do_table",
-      "type" : "java.lang.String",
+      "type" : "java.util.Collection",
       "defaultValue" : null,
-      "description" : "Replicate only listed tables, wildcards acepted",
+      "description" : "Replicate only listed tables, wildcards acepted. Use together with 'mysql.slave.replicate_dump_db'.",
       "reconfigurable" : false,
       "label" : null,
       "priority" : null,
@@ -16539,9 +16764,9 @@ var items = {
       "links" : null
     }, {
       "name" : "mysql.slave.replicate_wild_ignore_table",
-      "type" : "java.lang.String",
+      "type" : "java.util.Collection",
       "defaultValue" : null,
-      "description" : "Don't replicate listed tables, wildcards acepted",
+      "description" : "Don't replicate listed tables, wildcards acepted. Use together with 'mysql.slave.replicate_dump_db'.",
       "reconfigurable" : false,
       "label" : null,
       "priority" : null,
@@ -16629,8 +16854,13 @@ var items = {
       "description" : "mysql.queries.perSec.fromMysql.perNode",
       "links" : { }
     }, {
+      "name" : "mysql.replication.last_slave_snapshot",
+      "type" : "org.apache.brooklyn.entity.database.mysql.ReplicationSnapshot",
+      "description" : "Last valid state to init slaves with",
+      "links" : { }
+    }, {
       "name" : "mysql.slave.datastore.url",
-      "type" : "java.util.Collection",
+      "type" : "java.util.List",
       "description" : "List of all slave's DATASTORE_URL sensors",
       "links" : { }
     }, {
@@ -16738,6 +16968,16 @@ var items = {
       } ],
       "links" : null
     }, {
+      "name" : "commands",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "commands",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "customize.latch",
       "type" : "java.lang.Boolean",
       "defaultValue" : null,
@@ -17130,7 +17370,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -17315,6 +17555,17 @@ var items = {
       "links" : { }
     } ],
     "effectors" : [ {
+      "name" : "change_password",
+      "returnType" : "java.lang.Void",
+      "parameters" : [ {
+        "name" : "password",
+        "type" : "java.lang.String",
+        "description" : "New password to set",
+        "defaultValue" : null
+      } ],
+      "description" : "Change the mysql root password",
+      "links" : null
+    }, {
       "name" : "executeScript",
       "returnType" : "java.lang.String",
       "parameters" : [ {
@@ -17326,6 +17577,33 @@ var items = {
       "description" : "Execute SQL script on the node as the root user",
       "links" : null
     }, {
+      "name" : "export_dump",
+      "returnType" : "java.lang.Void",
+      "parameters" : [ {
+        "name" : "path",
+        "type" : "java.lang.String",
+        "description" : "Where to export the dump to. Resolved against runtime directory if relative.",
+        "defaultValue" : "dump.sql"
+      }, {
+        "name" : "additionalOptions",
+        "type" : "java.lang.String",
+        "description" : "Additional command line options to pass to mysqldump",
+        "defaultValue" : null
+      } ],
+      "description" : "Invokes mysqldump against the node",
+      "links" : null
+    }, {
+      "name" : "import_dump",
+      "returnType" : "java.lang.Void",
+      "parameters" : [ {
+        "name" : "path",
+        "type" : "java.lang.String",
+        "description" : "Path to a file with SQL statements to import as the root user",
+        "defaultValue" : null
+      } ],
+      "description" : "Runs the sql statements in the file as the root user",
+      "links" : null
+    }, {
       "name" : "populateServiceNotUpDiagnostics",
       "returnType" : "void",
       "parameters" : [ ],
@@ -17622,7 +17900,7 @@ var items = {
     }, {
       "name" : "nginx.config.generator",
       "type" : "org.apache.brooklyn.entity.proxy.nginx.NginxConfigFileGenerator",
-      "defaultValue" : "org.apache.brooklyn.entity.proxy.nginx.NginxDefaultConfigGenerator@29ae8a97",
+      "defaultValue" : "org.apache.brooklyn.entity.proxy.nginx.NginxDefaultConfigGenerator@109e378b",
       "description" : "The server.conf generator class",
       "reconfigurable" : false,
       "label" : null,
@@ -17902,7 +18180,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -18609,7 +18887,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -18920,6 +19198,16 @@ var items = {
       } ],
       "links" : null
     }, {
+      "name" : "commands",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "commands",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "customize.latch",
       "type" : "java.lang.Boolean",
       "defaultValue" : null,
@@ -19342,7 +19630,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -19527,7 +19815,7 @@ var items = {
       "parameters" : [ {
         "name" : "commands",
         "type" : "java.lang.String",
-        "description" : null,
+        "description" : "commands",
         "defaultValue" : null
       } ],
       "description" : "Executes the given script contents using psql",
@@ -20104,7 +20392,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -20747,7 +21035,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -21341,7 +21629,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -21591,8 +21879,18 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
-      "name" : "dynamiccluster.availabilityZones",
-      "type" : "java.util.Collection",
+      "name" : "cluster.member.id",
+      "type" : "java.lang.Integer",
+      "defaultValue" : null,
+      "description" : "The unique ID number (sequential) of a member of a cluster",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "dynamiccluster.availabilityZones",
+      "type" : "java.util.Collection",
       "defaultValue" : null,
       "description" : "availability zones to use (if non-null, overrides other configuration)",
       "reconfigurable" : false,
@@ -21683,7 +21981,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.failureDetector",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$ZoneFailureDetector",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@48908c52",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@9670177",
       "description" : "Zone failure detector",
       "reconfigurable" : false,
       "label" : null,
@@ -21693,7 +21991,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.placementStrategy",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$NodePlacementStrategy",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@2bcd7473",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@1a248b0e",
       "description" : "Node placement strategy",
       "reconfigurable" : false,
       "label" : null,
@@ -22488,7 +22786,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -23420,7 +23718,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -23640,6 +23938,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "cluster.member.id",
+      "type" : "java.lang.Integer",
+      "defaultValue" : null,
+      "description" : "The unique ID number (sequential) of a member of a cluster",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "dynamiccluster.availabilityZones",
       "type" : "java.util.Collection",
       "defaultValue" : null,
@@ -23732,7 +24040,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.failureDetector",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$ZoneFailureDetector",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@48908c52",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@9670177",
       "description" : "Zone failure detector",
       "reconfigurable" : false,
       "label" : null,
@@ -23742,7 +24050,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.placementStrategy",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$NodePlacementStrategy",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@2bcd7473",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@1a248b0e",
       "description" : "Node placement strategy",
       "reconfigurable" : false,
       "label" : null,
@@ -24562,7 +24870,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -25437,7 +25745,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -25860,7 +26168,7 @@ var items = {
     } ]
   }, {
     "type" : "org.apache.brooklyn.entity.webapp.tomcat.TomcatServer",
-    "defaultVersion" : "7.0.56",
+    "defaultVersion" : "7.0.65",
     "name" : "Tomcat Server",
     "description" : "Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies",
     "iconUrl" : "classpath:///tomcat-logo.png",
@@ -26052,7 +26360,7 @@ var items = {
     }, {
       "name" : "install.version",
       "type" : "java.lang.String",
-      "defaultValue" : "7.0.56",
+      "defaultValue" : "7.0.65",
       "description" : "Suggested version",
       "reconfigurable" : false,
       "label" : null,
@@ -26380,7 +26688,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -27165,7 +27473,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -27360,12 +27668,32 @@ var items = {
       "links" : null
     } ]
   }, {
-    "type" : "org.apache.brooklyn.entity.zookeeper.ZooKeeperNode",
-    "defaultVersion" : "3.4.5",
-    "name" : "ZooKeeper Node",
-    "description" : "Apache ZooKeeper is a server which enables highly reliable distributed coordination.",
+    "type" : "org.apache.brooklyn.entity.software.base.VanillaWindowsProcess",
+    "defaultVersion" : "0.0.0",
+    "name" : "Vanilla Windows Process",
+    "description" : "A basic Windows entity configured with scripts, e.g. for launch, check-running and stop",
     "iconUrl" : "",
     "config" : [ {
+      "name" : "checkRunning.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "command to determine whether the process is running",
+      "reconfigurable" : false,
+      "label" : "Check-running Command",
+      "priority" : 2.0,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "checkRunning.powershell.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "command to determine whether the process is running",
+      "reconfigurable" : false,
+      "label" : "Check-running PowerShell Command",
+      "priority" : 2.5,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "children.startable.mode",
       "type" : "java.lang.Enum",
       "defaultValue" : "NONE",
@@ -27391,6 +27719,16 @@ var items = {
       } ],
       "links" : null
     }, {
+      "name" : "customize.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "command to run during the customization phase",
+      "reconfigurable" : false,
+      "label" : "Customize command",
+      "priority" : 4.0,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "customize.latch",
       "type" : "java.lang.Boolean",
       "defaultValue" : null,
@@ -27401,6 +27739,26 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "customize.powershell.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "powershell command to run during the customization phase",
+      "reconfigurable" : false,
+      "label" : "Customize PowerShell command",
+      "priority" : 4.5,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "customize.reboot.required",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : false,
+      "description" : "indicates that a reboot should be performed after the customize command is run",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "dontRequireTtyForSudo",
       "type" : "java.lang.Boolean",
       "defaultValue" : false,
@@ -27423,7 +27781,7 @@ var items = {
     }, {
       "name" : "download.url",
       "type" : "java.lang.String",
-      "defaultValue" : "http://apache.fastbull.org/zookeeper/zookeeper-${version}/zookeeper-${version}.tar.gz",
+      "defaultValue" : null,
       "description" : "URL pattern for downloading the installer (will substitute things like ${version} automatically)",
       "reconfigurable" : false,
       "label" : null,
@@ -27491,6 +27849,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "install.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "command to run during the install phase",
+      "reconfigurable" : false,
+      "label" : "Install Command",
+      "priority" : 5.0,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "install.dir",
       "type" : "java.lang.String",
       "defaultValue" : "${config['onbox.base.dir']!config['brooklyn.datadir']!'/<ERROR>-ONBOX_BASE_DIR-not-set'}/installs/${(config['install.unique_label']??)?string(config['install.unique_label']!'X',(entity.entityType.simpleName)+((config['install.version']??)?string('_'+(config['install.version']!'X'),'')))}",
@@ -27511,6 +27879,26 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "install.powershell.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "powershell command to run during the install phase",
+      "reconfigurable" : false,
+      "label" : "Install PowerShell command",
+      "priority" : 5.5,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "install.reboot.required",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : false,
+      "description" : "indicates that a reboot should be performed after the install command is run",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "install.skip",
       "type" : "java.lang.Boolean",
       "defaultValue" : null,
@@ -27533,7 +27921,7 @@ var items = {
     }, {
       "name" : "install.version",
       "type" : "java.lang.String",
-      "defaultValue" : "3.4.5",
+      "defaultValue" : "0.0.0",
       "description" : "Suggested version",
       "reconfigurable" : false,
       "label" : null,
@@ -27541,6 +27929,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "launch.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "command to run to launch the process",
+      "reconfigurable" : false,
+      "label" : "Launch Command",
+      "priority" : 3.0,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "launch.latch",
       "type" : "java.lang.Boolean",
       "defaultValue" : null,
@@ -27551,6 +27949,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "launch.powershell.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "command to run to launch the process",
+      "reconfigurable" : false,
+      "label" : "Launch PowerShell command",
+      "priority" : 3.5,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "metrics.usage.retrieve",
       "type" : "java.lang.Boolean",
       "defaultValue" : true,
@@ -27581,6 +27989,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "post.install.powershell.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "powershell command to run during the post-install phase",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "post.launch.command",
       "type" : "java.lang.String",
       "defaultValue" : null,
@@ -27591,6 +28009,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "post.launch.powershell.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "powershell command to run during the post-launch phase",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "pre.install.command",
       "type" : "java.lang.String",
       "defaultValue" : null,
@@ -27601,6 +28029,26 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "pre.install.powershell.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "powershell command to run during the pre-install phase",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "pre.install.reboot.required",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : false,
+      "description" : "indicates that a reboot should be performed after the pre-install command is run",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "pre.launch.command",
       "type" : "java.lang.String",
       "defaultValue" : null,
@@ -27611,6 +28059,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "pre.launch.powershell.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "powershell command to run during the pre-launch phase",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "provisioning.properties",
       "type" : "java.util.Map",
       "defaultValue" : { },
@@ -27621,9 +28079,29 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "reboot.begun.timeout",
+      "type" : "org.apache.brooklyn.util.time.Duration",
+      "defaultValue" : "2m",
+      "description" : "duration to wait whilst waiting for a machine to begin rebooting, and thus become unavailable",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "reboot.completed.timeout",
+      "type" : "org.apache.brooklyn.util.time.Duration",
+      "defaultValue" : "30m",
+      "description" : "duration to wait whilst waiting for a machine to finish rebooting, and thus to become available again",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "requiredOpenLoginPorts",
       "type" : "java.util.Collection",
-      "defaultValue" : [ 22 ],
+      "defaultValue" : [ 5985, 3389 ],
       "description" : "The port(s) to be opened, to allow login",
       "reconfigurable" : false,
       "label" : null,
@@ -27683,7 +28161,7 @@ var items = {
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
-      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@3283cfba",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "reconfigurable" : false,
       "label" : null,
@@ -27721,6 +28199,26 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "stop.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "command to run to stop the process",
+      "reconfigurable" : false,
+      "label" : "Stop Command",
+      "priority" : 1.0,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "stop.powershell.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "command to run to stop the process",
+      "reconfigurable" : false,
+      "label" : "Stop PowerShell Command",
+      "priority" : 1.5,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "stopIptables",
       "type" : "java.lang.Boolean",
       "defaultValue" : false,
@@ -27760,46 +28258,6 @@ var items = {
       "priority" : null,
       "possibleValues" : null,
       "links" : null
-    }, {
-      "name" : "zookeeper.configTemplate",
-      "type" : "java.lang.String",
-      "defaultValue" : "classpath://org/apache/brooklyn/entity/messaging/zookeeper/zoo.cfg",
-      "description" : "Zookeeper configuration template (in freemarker format)",
-      "reconfigurable" : false,
-      "label" : null,
-      "priority" : null,
-      "possibleValues" : null,
-      "links" : null
-    }, {
-      "name" : "zookeeper.election.port",
-      "type" : "org.apache.brooklyn.api.location.PortRange",
-      "defaultValue" : "3888-65535",
-      "description" : "Zookeeper election ports",
-      "reconfigurable" : false,
-      "label" : null,
-      "priority" : null,
-      "possibleValues" : null,
-      "links" : null
-    }, {
-      "name" : "zookeeper.leader.port",
-      "type" : "org.apache.brooklyn.api.location.PortRange",
-      "defaultValue" : "2888-65535",
-      "description" : "Zookeeper leader ports",
-      "reconfigurable" : false,
-      "label" : null,
-      "priority" : null,
-      "possibleValues" : null,
-      "links" : null
-    }, {
-      "name" : "zookeeper.port",
-      "type" : "org.apache.brooklyn.api.location.PortRange",
-      "defaultValue" : "2181-65535",
-      "description" : "Zookeeper port",
-      "reconfigurable" : false,
-      "label" : null,
-      "priority" : null,
-      "possibleValues" : null,
-      "links" : null
     } ],
     "sensors" : [ {
       "name" : "download.addon.urls",
@@ -27842,6 +28300,11 @@ var items = {
       "description" : "Directory for this software to be installed in",
       "links" : { }
     }, {
+      "name" : "rdpPort",
+      "type" : "java.lang.Integer",
+      "description" : "rdpPort",
+      "links" : { }
+    }, {
       "name" : "run.dir",
       "type" : "java.lang.String",
       "description" : "Directory for this software to be run from",
@@ -27877,39 +28340,9 @@ var items = {
       "description" : "Location used to provision a machine where this is running",
       "links" : { }
     }, {
-      "name" : "zookeeper.election.port",
-      "type" : "java.lang.Integer",
-      "description" : "Zookeeper election ports",
-      "links" : { }
-    }, {
-      "name" : "zookeeper.leader.port",
-      "type" : "java.lang.Integer",
-      "description" : "Zookeeper leader ports",
-      "links" : { }
-    }, {
-      "name" : "zookeeper.myid",
-      "type" : "java.lang.Integer",
-      "description" : "ZooKeeper node's myId",
-      "links" : { }
-    }, {
-      "name" : "zookeeper.outstandingRequests",
-      "type" : "java.lang.Long",
-      "description" : "Outstanding request count",
-      "links" : { }
-    }, {
-      "name" : "zookeeper.packets.received",
-      "type" : "java.lang.Long",
-      "description" : "Total packets received",
-      "links" : { }
-    }, {
-      "name" : "zookeeper.packets.sent",
-      "type" : "java.lang.Long",
-      "description" : "Total packets sent",
-      "links" : { }
-    }, {
-      "name" : "zookeeper.port",
+      "name" : "winrmPort",
       "type" : "java.lang.Integer",
-      "description" : "Zookeeper port",
+      "description" : "winrmPort",
       "links" : { }
     } ],
     "effectors" : [ {
@@ -27943,13 +28376,596 @@ var items = {
       "links" : null
     } ]
   }, {
-    "type" : "org.apache.brooklyn.entity.zookeeper.ZooKeeperEnsemble",
-    "name" : "ZooKeeper ensemble",
-    "description" : "A cluster of ZooKeeper servers. Apache ZooKeeper enables highly reliable distributed coordination.",
+    "type" : "org.apache.brooklyn.entity.zookeeper.ZooKeeperNode",
+    "defaultVersion" : "3.4.5",
+    "name" : "ZooKeeper Node",
+    "description" : "Apache ZooKeeper is a server which enables highly reliable distributed coordination.",
     "iconUrl" : "",
     "config" : [ {
-      "name" : "cluster.initial.quorumSize",
-      "type" : "java.lang.Integer",
+      "name" : "children.startable.mode",
+      "type" : "java.lang.Enum",
+      "defaultValue" : "NONE",
+      "description" : "Controls behaviour when starting Startable children as part of this entity's lifecycle.",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : [ {
+        "value" : "NONE",
+        "description" : "NONE"
+      }, {
+        "value" : "FOREGROUND",
+        "description" : "FOREGROUND"
+      }, {
+        "value" : "FOREGROUND_LATE",
+        "description" : "FOREGROUND_LATE"
+      }, {
+        "value" : "BACKGROUND",
+        "description" : "BACKGROUND"
+      }, {
+        "value" : "BACKGROUND_LATE",
+        "description" : "BACKGROUND_LATE"
+      } ],
+      "links" : null
+    }, {
+      "name" : "customize.latch",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Latch for blocking customize until ready",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "dontRequireTtyForSudo",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : false,
+      "description" : "Whether to explicitly set /etc/sudoers, so don't need tty (will leave unchanged if 'false'); some machines require a tty for sudo; brooklyn by default does not use a tty (so that it can get separate error+stdout streams); you can enable a tty as an option to every ssh command, or you can do it once and modify the machine so that a tty is not subsequently required.",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "download.addon.urls",
+      "type" : "java.util.Map",
+      "defaultValue" : null,
+      "description" : "URL patterns for downloading named add-ons (will substitute things like ${version} automatically)",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "download.url",
+      "type" : "java.lang.String",
+      "defaultValue" : "http://apache.fastbull.org/zookeeper/zookeeper-${version}/zookeeper-${version}.tar.gz",
+      "description" : "URL pattern for downloading the installer (will substitute things like ${version} automatically)",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "entity.running",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Skip the startup process entirely, if service already running",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "entity.started",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Skip the startup process entirely, for running services",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "expandedinstall.dir",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Directory for installed artifacts (e.g. expanded dir after unpacking .tgz)",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "files.install",
+      "type" : "java.util.Map",
+      "defaultValue" : null,
+      "description" : "Mapping of files, to be copied before install, to destination name relative to installDir",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "files.preinstall",
+      "type" : "java.util.Map",
+      "defaultValue" : null,
+      "description" : "Mapping of files, to be copied before install, to destination name relative to installDir",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "files.runtime",
+      "type" : "java.util.Map",
+      "defaultValue" : null,
+      "description" : "Mapping of files, to be copied before customisation, to destination name relative to runDir",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "install.dir",
+      "type" : "java.lang.String",
+      "defaultValue" : "${config['onbox.base.dir']!config['brooklyn.datadir']!'/<ERROR>-ONBOX_BASE_DIR-not-set'}/installs/${(config['install.unique_label']??)?string(config['install.unique_label']!'X',(entity.entityType.simpleName)+((config['install.version']??)?string('_'+(config['install.version']!'X'),'')))}",
+      "description" : "Directory for this software to be installed in",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "install.latch",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Latch for blocking install until ready",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "install.skip",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Skip the driver install commands entirely, for pre-installed software",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "install.unique_label",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Provides a label which uniquely identifies an installation, used in the computation of the install dir; this should include something readable, and must include a hash of all data which differentiates an installation (e.g. version, plugins, etc), but should be the same where install dirs can be shared to allow for re-use",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "install.version",
+      "type" : "java.lang.String",
+      "defaultValue" : "3.4.5",
+      "description" : "Suggested version",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "launch.latch",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Latch for blocking launch until ready",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "metrics.usage.retrieve",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : true,
+      "description" : "Whether to retrieve the usage (e.g. performance) metrics",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "openIptables",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : false,
+      "description" : "Whether to open the INBOUND_PORTS via iptables rules; if true then ssh in to run iptables commands, as part of machine provisioning",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "post.install.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Command to be run after the install method being called on the driver",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "post.launch.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Command to be run after the launch method being called on the driver",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "pre.install.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Command to be run prior to the install method being called on the driver",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "pre.launch.command",
+      "type" : "java.lang.String",
+      "defaultValue" : null,
+      "description" : "Command to be run prior to the launch method being called on the driver",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "provisioning.properties",
+      "type" : "java.util.Map",
+      "defaultValue" : { },
+      "description" : "Custom properties to be passed in when provisioning a new machine",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "requiredOpenLoginPorts",
+      "type" : "java.util.Collection",
+      "defaultValue" : [ 22 ],
+      "description" : "The port(s) to be opened, to allow login",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "resources.install.latch",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Latch for blocking install resources until ready",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "resources.runtime.latch",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Latch for blocking runtime resources until ready",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "run.dir",
+      "type" : "java.lang.String",
+      "defaultValue" : "${config['onbox.base.dir']!config['brooklyn.datadir']!'/<ERROR>-ONBOX_BASE_DIR-not-set'}/apps/${entity.applicationId}/entities/${entity.entityType.simpleName}_${entity.id}",
+      "description" : "Directory for this software to be run from",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "setup.latch",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Latch for blocking setup until ready",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "shell.env",
+      "type" : "java.util.Map",
+      "defaultValue" : { },
+      "description" : "Map of environment variables to pass to the runtime shell",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "softwareProcess.lifecycleTasks",
+      "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
+      "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks@29bcec22",
+      "description" : "An object that handles lifecycle of an entity's associated machine.",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "softwareProcess.maxSensorRebindDelay",
+      "type" : "org.apache.brooklyn.util.time.Duration",
+      "defaultValue" : "10s",
+      "description" : "The maximum delay to apply when reconnecting sensors when rebinding to this entity. Brooklyn will wait a random amount of time, up to the value of this config key, to avoid a thundering herd problem when the entity shares its machine with several others. Set to null or to 0 to disable any delay.",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "start.latch",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : null,
+      "description" : "Latch for blocking start until ready",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "start.timeout",
+      "type" : "org.apache.brooklyn.util.time.Duration",
+      "defaultValue" : "2m",
+      "description" : "Time to wait for process and for SERVICE_UP before failing (in seconds, default 2m)",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "stopIptables",
+      "type" : "java.lang.Boolean",
+      "defaultValue" : false,
+      "description" : "Whether to stop iptables entirely; if true then ssh in to stop the iptables service, as part of machine provisioning",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "templates.install",
+      "type" : "java.util.Map",
+      "defaultValue" : null,
+      "description" : "Mapping of templates, to be filled in and copied before install, to destination name relative to installDir",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "templates.preinstall",
+      "type" : "java.util.Map",
+      "defaultValue" : null,
+      "description" : "Mapping of templates, to be filled in and copied before pre-install, to destination name relative to installDir",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "templates.runtime",
+      "type" : "java.util.Map",
+      "defaultValue" : null,
+      "description" : "Mapping of templates, to be filled in and copied before customisation, to destination name relative to runDir",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "zookeeper.configTemplate",
+      "type" : "java.lang.String",
+      "defaultValue" : "classpath://org/apache/brooklyn/entity/messaging/zookeeper/zoo.cfg",
+      "description" : "Zookeeper configuration template (in freemarker format)",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "zookeeper.election.port",
+      "type" : "org.apache.brooklyn.api.location.PortRange",
+      "defaultValue" : "3888-65535",
+      "description" : "Zookeeper election ports",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "zookeeper.leader.port",
+      "type" : "org.apache.brooklyn.api.location.PortRange",
+      "defaultValue" : "2888-65535",
+      "description" : "Zookeeper leader ports",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
+      "name" : "zookeeper.port",
+      "type" : "org.apache.brooklyn.api.location.PortRange",
+      "defaultValue" : "2181-65535",
+      "description" : "Zookeeper port",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    } ],
+    "sensors" : [ {
+      "name" : "download.addon.urls",
+      "type" : "java.util.Map",
+      "description" : "URL patterns for downloading named add-ons (will substitute things like ${version} automatically)",
+      "links" : { }
+    }, {
+      "name" : "download.url",
+      "type" : "java.lang.String",
+      "description" : "URL pattern for downloading the installer (will substitute things like ${version} automatically)",
+      "links" : { }
+    }, {
+      "name" : "expandedinstall.dir",
+      "type" : "java.lang.String",
+      "description" : "Directory for installed artifacts (e.g. expanded dir after unpacking .tgz)",
+      "links" : { }
+    }, {
+      "name" : "host.address",
+      "type" : "java.lang.String",
+      "description" : "Host IP address",
+      "links" : { }
+    }, {
+      "name" : "host.name",
+      "type" : "java.lang.String",
+      "description" : "Host name",
+      "links" : { }
+    }, {
+      "name" : "host.subnet.address",
+      "type" : "java.lang.String",
+      "description" : "Host address as known internally in the subnet where it is running (if different to host.name)",
+      "links" : { }
+    }, {
+      "name" : "host.subnet.hostname",
+      "type" : "java.lang.String",
+      "description" : "Host name as known internally in the subnet where it is running (if different to host.name)",
+      "links" : { }
+    }, {
+      "name" : "install.dir",
+      "type" : "java.lang.String",
+      "description" : "Directory for this software to be installed in",
+      "links" : { }
+    }, {
+      "name" : "run.dir",
+      "type" : "java.lang.String",
+      "description" : "Directory for this software to be run from",
+      "links" : { }
+    }, {
+      "name" : "service.isUp",
+      "type" : "java.lang.Boolean",
+      "description" : "Whether the service is active and availability (confirmed and monitored)",
+      "links" : { }
+    }, {
+      "name" : "service.process.isRunning",
+      "type" : "java.lang.Boolean",
+      "description" : "Whether the process for the service is confirmed as running",
+      "links" : { }
+    }, {
+      "name" : "service.state",
+      "type" : "org.apache.brooklyn.core.entity.lifecycle.Lifecycle",
+      "description" : "Actual lifecycle state of the service",
+      "links" : { }
+    }, {
+      "name" : "service.state.expected",
+      "type" : "org.apache.brooklyn.core.entity.lifecycle.Lifecycle$Transition",
+      "description" : "Last controlled change to service state, indicating what the expected state should be",
+      "links" : { }
+    }, {
+      "name" : "softwareprocess.pid.file",
+      "type" : "java.lang.String",
+      "description" : "PID file",
+      "links" : { }
+    }, {
+      "name" : "softwareservice.provisioningLocation",
+      "type" : "org.apache.brooklyn.api.location.MachineProvisioningLocation",
+      "description" : "Location used to provision a machine where this is running",
+      "links" : { }
+    }, {
+      "name" : "zookeeper.election.port",
+      "type" : "java.lang.Integer",
+      "description" : "Zookeeper election ports",
+      "links" : { }
+    }, {
+      "name" : "zookeeper.leader.port",
+      "type" : "java.lang.Integer",
+      "description" : "Zookeeper leader ports",
+      "links" : { }
+    }, {
+      "name" : "zookeeper.myid",
+      "type" : "java.lang.Integer",
+      "description" : "ZooKeeper node's myId",
+      "links" : { }
+    }, {
+      "name" : "zookeeper.outstandingRequests",
+      "type" : "java.lang.Long",
+      "description" : "Outstanding request count",
+      "links" : { }
+    }, {
+      "name" : "zookeeper.packets.received",
+      "type" : "java.lang.Long",
+      "description" : "Total packets received",
+      "links" : { }
+    }, {
+      "name" : "zookeeper.packets.sent",
+      "type" : "java.lang.Long",
+      "description" : "Total packets sent",
+      "links" : { }
+    }, {
+      "name" : "zookeeper.port",
+      "type" : "java.lang.Integer",
+      "description" : "Zookeeper port",
+      "links" : { }
+    } ],
+    "effectors" : [ {
+      "name" : "populateServiceNotUpDiagnostics",
+      "returnType" : "void",
+      "parameters" : [ ],
+      "description" : "Populates the attribute service.notUp.diagnostics, with any available health indicators",
+      "links" : null
+    }, {
+      "name" : "restart",
+      "returnType" : "void",
+      "parameters" : [ ],
+      "description" : "Restart the process/service represented by an entity",
+      "links" : null
+    }, {
+      "name" : "start",
+      "returnType" : "void",
+      "parameters" : [ {
+        "name" : "locations",
+        "type" : "java.lang.Object",
+        "description" : "The location or locations to start in, as a string, a location object, a list of strings, or a list of location objects",
+        "defaultValue" : null
+      } ],
+      "description" : "Start the process/service represented by an entity",
+      "links" : null
+    }, {
+      "name" : "stop",
+      "returnType" : "void",
+      "parameters" : [ ],
+      "description" : "Stop the process/service represented by an entity",
+      "links" : null
+    } ]
+  }, {
+    "type" : "org.apache.brooklyn.entity.zookeeper.ZooKeeperEnsemble",
+    "name" : "ZooKeeper ensemble",
+    "description" : "A cluster of ZooKeeper servers. Apache ZooKeeper enables highly reliable distributed coordination.",
+    "iconUrl" : "",
+    "config" : [ {
+      "name" : "cluster.initial.quorumSize",
+      "type" : "java.lang.Integer",
       "defaultValue" : -1,
       "description" : "Initial cluster quorum size - number of initial nodes that must have been successfully started to report success (if < 0, then use value of INITIAL_SIZE)",
       "reconfigurable" : false,
@@ -27968,6 +28984,16 @@ var items = {
       "possibleValues" : null,
       "links" : null
     }, {
+      "name" : "cluster.member.id",
+      "type" : "java.lang.Integer",
+      "defaultValue" : null,
+      "description" : "The unique ID number (sequential) of a member of a cluster",
+      "reconfigurable" : false,
+      "label" : null,
+      "priority" : null,
+      "possibleValues" : null,
+      "links" : null
+    }, {
       "name" : "dynamiccluster.availabilityZones",
       "type" : "java.util.Collection",
       "defaultValue" : null,
@@ -28060,7 +29086,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.failureDetector",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$ZoneFailureDetector",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@48908c52",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.ProportionalZoneFailureDetector@9670177",
       "description" : "Zone failure detector",
       "reconfigurable" : false,
       "label" : null,
@@ -28070,7 +29096,7 @@ var items = {
     }, {
       "name" : "dynamiccluster.zone.placementStrategy",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$NodePlacementStrategy",
-      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@2bcd7473",
+      "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy@1a248b0e",
       "description" : "Node placement strategy",
       "reconfigurable" : false,
       "label" : null,
@@ -28275,7 +29301,7 @@ var items = {
     "config" : [ {
       "name" : "autoscaler.currentSizeOperator",
       "type" : "com.google.common.base.Function",
-      "defaultValue" : "org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy$4@7dbc3cba",
+      "defaultValue" : "org.apache.brooklyn.policy.autoscaling.AutoScalerPolicy$4@36e1283a",
       "description" : null,
       "reconfigurable" : false,
       "label" : null,
@@ -28286,7 +29312,7 @@ var items = {

[... 221 lines stripped ...]