brooklyn-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rich...@apache.org
Subject svn commit: r1825513 [3/3] - in /brooklyn/site: ./ community/ community/security/ contributing/ developers/ developers/code/ developers/committers/ developers/committers/release-process/ documentation/ download/ learnmore/ learnmore/catalog/ learnmore/...
Date Tue, 27 Feb 2018 22:25:19 GMT
Modified: brooklyn/site/style/js/catalog/items.js
URL: http://svn.apache.org/viewvc/brooklyn/site/style/js/catalog/items.js?rev=1825513&r1=1825512&r2=1825513&view=diff
==============================================================================
--- brooklyn/site/style/js/catalog/items.js (original)
+++ brooklyn/site/style/js/catalog/items.js Tue Feb 27 22:25:18 2018
@@ -11,40 +11,40 @@ var items = {
       "description" : "ActiveMQ Broker Name",
       "defaultValue" : "localhost",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "activemq.install.mirror.url",
       "type" : "java.lang.String",
       "description" : "URL of mirror",
       "defaultValue" : "http://www.mirrorservice.org/sites/ftp.apache.org/activemq",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "activemq.jetty.port",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "jetty port",
       "defaultValue" : "8161-65535",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "activemq.templateConfigurationUrl",
       "type" : "java.lang.String",
       "description" : "Template file (in freemarker format) for the conf/activemq.xml file",
       "defaultValue" : "classpath://org/apache/brooklyn/entity/messaging/activemq/activemq.xml",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "archive.nameFormat",
       "type" : "java.lang.String",
       "description" : "The format for the directory created when the installation archive is extracted, if required. The version string will be passed in as the first argument, replacing the %s format specifier",
       "defaultValue" : "apache-activemq-%s",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "children.startable.mode",
       "type" : "java.lang.Enum",
@@ -67,152 +67,152 @@ var items = {
         "value" : "BACKGROUND_LATE",
         "description" : "BACKGROUND_LATE"
       } ],
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dontRequireTtyForSudo",
       "type" : "java.lang.Boolean",
       "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.",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "download.addon.urls",
       "type" : "java.util.Map",
       "description" : "URL for downloading named add-ons; uses FreeMarker templating format to substitute things like ${version} automatically",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "download.url",
       "type" : "java.lang.String",
       "description" : "URL for downloading the installer; uses FreeMarker templating format to substitute things like ${version} automatically",
       "defaultValue" : "${driver.mirrorUrl}/${version}/apache-activemq-${version}-bin.tar.gz",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "effector.add.openInboundPorts",
       "type" : "java.lang.Boolean",
       "description" : "Whether to add an effector to the entity for opening ports through Cloud security groups",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "expandedinstall.dir",
       "type" : "java.lang.String",
       "description" : "Directory for installed artifacts (e.g. expanded dir after unpacking .tgz)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.customize",
       "type" : "java.util.Map",
       "description" : "Files to be copied before customize; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.install",
       "type" : "java.util.Map",
       "description" : "Files to be copied before install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.preinstall",
       "type" : "java.util.Map",
       "description" : "Files to be copied before pre-install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.runtime",
       "type" : "java.util.Map",
       "description" : "Files to be copied before launch (and before pre-launch); mapping from resource to the destination name relative to runDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "inboundPorts.autoInfer",
       "type" : "java.lang.Boolean",
       "description" : "By default, the ports to open in iptables and security group is inferred from the config keys. This follows a naming convention (defaulting to all config keys matching the name '*.\\.port', but customizable with the config key 'inboundPorts.configRegex'), and also including all config keys of type 'PortRange'. This behaviour is turned off by setting it to 'false'.",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "inboundPorts.configRegex",
       "type" : "java.lang.String",
       "description" : "Regex governing the opening of ports based on config names (see 'inboundPorts.autoInfer')",
       "defaultValue" : ".*\\.port",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "install.dir",
       "type" : "java.lang.String",
       "description" : "Directory in which this software will be installed (if downloading/unpacking artifacts explicitly); uses FreeMarker templating format",
       "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'),'')))}",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "install.unique_label",
       "type" : "java.lang.String",
       "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,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "install.version",
       "type" : "java.lang.String",
       "description" : "The suggested version of the software to be installed",
       "defaultValue" : "5.10.2",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "java.check.hostname.bug",
       "type" : "java.lang.Boolean",
       "description" : "Check whether hostname is too long and will likely crash Java 1.7 due to bug http://bugs.java.com/view_bug.do?bug_id=7089443",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "java.opts",
       "type" : "java.util.Set",
       "description" : "Java command line options",
       "defaultValue" : [ ],
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "java.sysprops",
       "type" : "java.util.Map",
       "description" : "Java command line system properties (converted automatically into the format '-Dkey=value')",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "java.version.required",
       "type" : "java.lang.String",
       "description" : "Java version required",
       "defaultValue" : "1.7",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.agent.local.path",
       "type" : "java.lang.String",
       "description" : "Optional path to where JMX driver should be installed on the local machine (if using JMXMP or custom agent)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.agent.mode",
       "type" : "java.lang.Enum",
@@ -238,336 +238,336 @@ var items = {
         "value" : "NONE",
         "description" : "NONE"
       } ],
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.context",
       "type" : "java.lang.String",
       "description" : "JMX context path (defaults to 'jmxrmi')",
       "defaultValue" : "jmxrmi",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.direct.port",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "JMX direct/private port (e.g. JMX RMI server port, or JMXMP port, but not RMI registry port)",
       "defaultValue" : "31001-65535",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.direct.port.legacy.NOT_USED",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "Legacy definition JMX direct/private port (e.g. JMX RMI server port, or JMXMP port, but not RMI registry port)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.enabled",
       "type" : "java.lang.Boolean",
       "description" : "Whether JMX is enabled",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.password",
       "type" : "java.lang.String",
       "description" : "Optional JMX password to use when connecting",
       "defaultValue" : "admin",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.ssl.access.cert",
       "type" : "java.security.cert.Certificate",
       "description" : "certificate of key used to access a JMX agent",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.ssl.access.key",
       "type" : "java.security.PrivateKey",
       "description" : "key used to access a JMX agent (typically per entity, embedded in the managed JVM)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.ssl.enabled",
       "type" : "java.lang.Boolean",
       "description" : "Whether to enable JMX over JMXMP with SSL/TLS",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.user",
       "type" : "java.lang.String",
       "description" : "Optional JMX username to use when connecting",
       "defaultValue" : "admin",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.customize",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking customize; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.install",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking install; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
-      "name" : "latch.install.reources",
+      "name" : "latch.install.resources",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking files being copied before the install; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.launch",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking luanch; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.launch.resources",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking files being copied before the launch; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.setup",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking setup; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.start",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking start (done post-provisioning for software processes); if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.stop",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking stop; if non-null will wait for at most 1 minute for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "metrics.usage.retrieve",
       "type" : "java.lang.Boolean",
       "description" : "Whether to retrieve the usage (e.g. performance) metrics",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "openIptables",
       "type" : "java.lang.Boolean",
       "description" : "Whether to open the INBOUND_PORTS via iptables rules; if true then ssh in to run iptables commands, as part of machine provisioning",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "openwire.port",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "OpenWire port",
       "defaultValue" : "61616-65535",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "post.customize.command",
       "type" : "java.lang.String",
       "description" : "Command to be run after the customize phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "post.install.command",
       "type" : "java.lang.String",
       "description" : "Command to be run after the install phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "post.launch.command",
       "type" : "java.lang.String",
       "description" : "Command to be run after the launch phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "pre.customize.command",
       "type" : "java.lang.String",
       "description" : "Command to be run prior to the customize phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "pre.install.command",
       "type" : "java.lang.String",
       "description" : "Command to be run prior to the install phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "pre.launch.command",
       "type" : "java.lang.String",
       "description" : "Command to be run prior to the launch phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "provisioning.properties",
       "type" : "java.util.Map",
       "description" : "Custom properties to be passed in to the location when provisioning a new machine",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "requiredOpenLoginPorts",
       "type" : "java.util.Collection",
       "description" : "The port(s) to be opened (also see 'inboundPorts.autoInfer')",
       "defaultValue" : [ 22 ],
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "rmi.registry.port",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "RMI registry port, used for discovering JMX (private) port",
       "defaultValue" : "1099,19099-65535",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "run.dir",
       "type" : "java.lang.String",
       "description" : "Directory from which this software to be run; uses FreeMarker templating format",
       "defaultValue" : "${config['onbox.base.dir']!config['brooklyn.datadir']!'/<ERROR>-ONBOX_BASE_DIR-not-set'}/apps/${entity.applicationId}/entities/${entity.entityType.simpleName}_${entity.id}",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "shell.env",
       "type" : "java.util.Map",
       "description" : "Map of environment variables to pass to the runtime shell. Non-string values are serialized to json before passed to the shell.",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "skip.install",
       "type" : "java.lang.Boolean",
       "description" : "Whether to skip the install commands entirely (useful for pre-installed images)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "skip.start",
       "type" : "java.lang.Boolean",
       "description" : "Whether to skip the startup process entirely (useful for auto-running software, such as in containers)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "skip.start.ifRunning",
       "type" : "java.lang.Boolean",
       "description" : "Whether to skip the startup process if the entity is detected as already running",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "softwareProcess.maxSensorRebindDelay",
       "type" : "org.apache.brooklyn.util.time.Duration",
       "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.",
       "defaultValue" : "10s",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "softwareProcess.serviceProcessIsRunningPollPeriod",
       "type" : "org.apache.brooklyn.util.time.Duration",
       "description" : "The period for polling for whether the process is running; applies only if the entity wires up the connectServiceUpIsRunning.",
       "defaultValue" : "5s",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "start.timeout",
       "type" : "org.apache.brooklyn.util.time.Duration",
       "description" : "Time to wait, after launching, for SERVICE_UP before failing",
       "defaultValue" : "2m",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "stopIptables",
       "type" : "java.lang.Boolean",
       "description" : "Whether to stop iptables entirely; if true then ssh in to stop the iptables service, as part of machine provisioning",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "template.substitutions",
       "type" : "java.util.Map",
       "description" : "Map of values to be substituted for the keys in any templated files used by the entity",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "templates.customize",
       "type" : "java.util.Map",
       "description" : "Templated files to be filled in and copied before customize; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "templates.install",
       "type" : "java.util.Map",
       "description" : "Templated files to be filled in and copied before install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "templates.preinstall",
       "type" : "java.util.Map",
       "description" : "Templated files to be filled in and copied before pre-install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "templates.runtime",
       "type" : "java.util.Map",
       "description" : "Templated files to be filled in and copied before launch (and before pre-launch); mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     } ],
     "sensors" : [ {
       "name" : "activemq.brokerName",
@@ -749,71 +749,71 @@ var items = {
       "description" : "IP to be checked. Default: All IPs ",
       "defaultValue" : "0.0.0.0",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "ansible.service.check.port",
       "type" : "java.lang.Integer",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "ansible.service.start",
       "type" : "java.lang.String",
       "description" : "Default start command used with conjunction with the Ansible's service module",
       "defaultValue" : "ansible localhost -c local -m service -a \"name=%s state=started\"",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "ansible.service.stop",
       "type" : "java.lang.String",
       "description" : "Default stop command used with conjunction with the Ansible's service module",
       "defaultValue" : "ansible localhost -c local -m service -a \"name=%s state=stopped\"",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "archive.nameFormat",
       "type" : "java.lang.String",
       "description" : "The format for the directory created when the installation archive is extracted, if required. The version string will be passed in as the first argument, replacing the %s format specifier",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "brooklyn.ansible.playbook",
       "type" : "java.lang.String",
       "description" : "Playbook to be execute by Ansible",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "brooklyn.ansible.playbookUrl",
       "type" : "java.lang.String",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "brooklyn.ansible.playbookYaml",
       "type" : "java.lang.String",
       "description" : "Playbook to be execute by Ansible",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "brooklyn.ansible.serviceName",
       "type" : "java.lang.String",
       "description" : "Name of OS service this will run as, for use in checking running and stopping",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "brooklyn.ansible.vars",
       "type" : "java.lang.Object",
       "description" : "Ansible 'extra-vars' variable configuration values",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "children.startable.mode",
       "type" : "java.lang.Enum",
@@ -836,354 +836,354 @@ var items = {
         "value" : "BACKGROUND_LATE",
         "description" : "BACKGROUND_LATE"
       } ],
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dontRequireTtyForSudo",
       "type" : "java.lang.Boolean",
       "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.",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "download.addon.urls",
       "type" : "java.util.Map",
       "description" : "URL for downloading named add-ons; uses FreeMarker templating format to substitute things like ${version} automatically",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "download.url",
       "type" : "java.lang.String",
       "description" : "URL for downloading the installer; uses FreeMarker templating format to substitute things like ${version} automatically",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "effector.add.openInboundPorts",
       "type" : "java.lang.Boolean",
       "description" : "Whether to add an effector to the entity for opening ports through Cloud security groups",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "expandedinstall.dir",
       "type" : "java.lang.String",
       "description" : "Directory for installed artifacts (e.g. expanded dir after unpacking .tgz)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.customize",
       "type" : "java.util.Map",
       "description" : "Files to be copied before customize; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.install",
       "type" : "java.util.Map",
       "description" : "Files to be copied before install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.preinstall",
       "type" : "java.util.Map",
       "description" : "Files to be copied before pre-install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.runtime",
       "type" : "java.util.Map",
       "description" : "Files to be copied before launch (and before pre-launch); mapping from resource to the destination name relative to runDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "inboundPorts.autoInfer",
       "type" : "java.lang.Boolean",
       "description" : "By default, the ports to open in iptables and security group is inferred from the config keys. This follows a naming convention (defaulting to all config keys matching the name '*.\\.port', but customizable with the config key 'inboundPorts.configRegex'), and also including all config keys of type 'PortRange'. This behaviour is turned off by setting it to 'false'.",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "inboundPorts.configRegex",
       "type" : "java.lang.String",
       "description" : "Regex governing the opening of ports based on config names (see 'inboundPorts.autoInfer')",
       "defaultValue" : ".*\\.port",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "install.dir",
       "type" : "java.lang.String",
       "description" : "Directory in which this software will be installed (if downloading/unpacking artifacts explicitly); uses FreeMarker templating format",
       "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'),'')))}",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "install.unique_label",
       "type" : "java.lang.String",
       "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,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "install.version",
       "type" : "java.lang.String",
       "description" : "The suggested version of the software to be installed",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.customize",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking customize; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.install",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking install; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
-      "name" : "latch.install.reources",
+      "name" : "latch.install.resources",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking files being copied before the install; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.launch",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking luanch; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.launch.resources",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking files being copied before the launch; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.setup",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking setup; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.start",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking start (done post-provisioning for software processes); if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.stop",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking stop; if non-null will wait for at most 1 minute for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "metrics.usage.retrieve",
       "type" : "java.lang.Boolean",
       "description" : "Whether to retrieve the usage (e.g. performance) metrics",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "openIptables",
       "type" : "java.lang.Boolean",
       "description" : "Whether to open the INBOUND_PORTS via iptables rules; if true then ssh in to run iptables commands, as part of machine provisioning",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "post.customize.command",
       "type" : "java.lang.String",
       "description" : "Command to be run after the customize phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "post.install.command",
       "type" : "java.lang.String",
       "description" : "Command to be run after the install phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "post.launch.command",
       "type" : "java.lang.String",
       "description" : "Command to be run after the launch phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "pre.customize.command",
       "type" : "java.lang.String",
       "description" : "Command to be run prior to the customize phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "pre.install.command",
       "type" : "java.lang.String",
       "description" : "Command to be run prior to the install phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "pre.launch.command",
       "type" : "java.lang.String",
       "description" : "Command to be run prior to the launch phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "provisioning.properties",
       "type" : "java.util.Map",
       "description" : "Custom properties to be passed in to the location when provisioning a new machine",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "requiredOpenLoginPorts",
       "type" : "java.util.Collection",
       "description" : "The port(s) to be opened (also see 'inboundPorts.autoInfer')",
       "defaultValue" : [ 22 ],
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "run.dir",
       "type" : "java.lang.String",
       "description" : "Directory from which this software to be run; uses FreeMarker templating format",
       "defaultValue" : "${config['onbox.base.dir']!config['brooklyn.datadir']!'/<ERROR>-ONBOX_BASE_DIR-not-set'}/apps/${entity.applicationId}/entities/${entity.entityType.simpleName}_${entity.id}",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "shell.env",
       "type" : "java.util.Map",
       "description" : "Map of environment variables to pass to the runtime shell. Non-string values are serialized to json before passed to the shell.",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "skip.install",
       "type" : "java.lang.Boolean",
       "description" : "Whether to skip the install commands entirely (useful for pre-installed images)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "skip.start",
       "type" : "java.lang.Boolean",
       "description" : "Whether to skip the startup process entirely (useful for auto-running software, such as in containers)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "skip.start.ifRunning",
       "type" : "java.lang.Boolean",
       "description" : "Whether to skip the startup process if the entity is detected as already running",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "softwareProcess.lifecycleTasks",
       "type" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
       "description" : "An object that handles lifecycle of an entity's associated machine.",
       "defaultValue" : "org.apache.brooklyn.entity.software.base.SoftwareProcessDriverLifecycleEffectorTasks",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "softwareProcess.maxSensorRebindDelay",
       "type" : "org.apache.brooklyn.util.time.Duration",
       "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.",
       "defaultValue" : "10s",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "softwareProcess.serviceProcessIsRunningPollPeriod",
       "type" : "org.apache.brooklyn.util.time.Duration",
       "description" : "The period for polling for whether the process is running; applies only if the entity wires up the connectServiceUpIsRunning.",
       "defaultValue" : "5s",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "start.timeout",
       "type" : "org.apache.brooklyn.util.time.Duration",
       "description" : "Time to wait, after launching, for SERVICE_UP before failing",
       "defaultValue" : "2m",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "stopIptables",
       "type" : "java.lang.Boolean",
       "description" : "Whether to stop iptables entirely; if true then ssh in to stop the iptables service, as part of machine provisioning",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "template.substitutions",
       "type" : "java.util.Map",
       "description" : "Map of values to be substituted for the keys in any templated files used by the entity",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "templates.customize",
       "type" : "java.util.Map",
       "description" : "Templated files to be filled in and copied before customize; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "templates.install",
       "type" : "java.util.Map",
       "description" : "Templated files to be filled in and copied before install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "templates.preinstall",
       "type" : "java.util.Map",
       "description" : "Templated files to be filled in and copied before pre-install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "templates.runtime",
       "type" : "java.util.Map",
       "description" : "Templated files to be filled in and copied before launch (and before pre-launch); mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     } ],
     "sensors" : [ {
       "name" : "download.addon.urls",
@@ -1315,15 +1315,15 @@ var items = {
       "type" : "com.google.common.base.Function",
       "description" : "Function used to provide the cassandra.replication.datacenterName for a given location",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccfabric.firstmemberspec",
       "type" : "org.apache.brooklyn.api.entity.EntitySpec",
       "description" : "Entity spec for the first member",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccfabric.memberspec",
       "type" : "org.apache.brooklyn.api.entity.EntitySpec",
@@ -1332,77 +1332,78 @@ var items = {
       "label" : "Member spec",
       "priority" : 1.0,
       "pinned" : true,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamicfabric.customChildFlags",
       "type" : "java.util.Map",
       "description" : "Additional flags to be passed to children when they are being created",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamicfabric.displayNamePrefix",
       "type" : "java.lang.String",
       "description" : "Display name prefix, for created children",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamicfabric.displayNameSuffix",
       "type" : "java.lang.String",
       "description" : "Display name suffix, for created children",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "enricher.service_state.children_and_members.quorum.running",
       "type" : "org.apache.brooklyn.util.collections.QuorumCheck",
       "description" : "Problems check from children actual states (lifecycle), applied by default to members and children, not checking upness, but requiring by default that none are on-fire",
       "defaultValue" : "QuorumCheck[all;require=0,100.0%]",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "enricher.service_state.children_and_members.quorum.up",
       "type" : "org.apache.brooklyn.util.collections.QuorumCheck",
       "description" : "Up check, applied by default to members, requiring at least one present and up",
       "defaultValue" : "QuorumCheck[atLeastOne;require=1,0.0%]",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "fabric.initial.quorumSize",
       "type" : "java.lang.Integer",
       "description" : "Initial fabric quorum size - number of initial nodes that must have been successfully started to report success (if less than 0, then use a value based on INITIAL_SIZE of clusters)",
       "defaultValue" : -1,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "group.members.delegate",
       "type" : "java.lang.Boolean",
       "description" : "Deprecated: Add delegate child entities for members of the group",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "group.members.delegate.nameFormat",
       "type" : "java.lang.String",
       "description" : "Deprecated: Delegate members name format string (Use %s for the original entity display name)",
       "defaultValue" : "%s",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "includeInitialChildren",
       "type" : "java.lang.Boolean",
       "description" : "Whether to include the initial children when handing out the locations to new members (i.e. if true, these children will each be given a location (round-robin), rather than creating new members; if false then the children will be given just the first location (if any), and new members will be created dynamically for each given location).",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     } ],
     "sensors" : [ {
       "name" : "cassandra.cluster.datacenterUsages",
@@ -1513,70 +1514,70 @@ var items = {
       "description" : "Delay after cluster is started before checking and advertising its availability",
       "defaultValue" : "10s",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.cluster.name",
       "type" : "java.lang.String",
       "description" : "Name of the Cassandra cluster",
       "defaultValue" : "BrooklynCluster",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.cluster.seedSupplier",
       "type" : "com.google.common.base.Supplier",
       "description" : "For determining the seed nodes",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.cluster.snitchName",
       "type" : "java.lang.String",
       "description" : "Type of the Cassandra snitch",
       "defaultValue" : "SimpleSnitch",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.cluster.tokenGenerator.class",
       "type" : "java.lang.Class",
       "description" : "For determining the tokens of nodes",
       "defaultValue" : "class org.apache.brooklyn.entity.nosql.cassandra.TokenGenerators$PosNeg63TokenGenerator",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.cluster.tokenShift",
       "type" : "java.math.BigInteger",
       "description" : "Delta applied to all tokens generated for this Cassandra datacenter, useful when configuring multiple datacenters which should be shifted; if not set, a random shift is applied. (Pass 0 to prevent any shift.)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.cluster.useVnodes",
       "type" : "java.lang.Boolean",
       "description" : "Determines whether to use vnodes; if doing so, tokens will not be explicitly assigned to nodes in the cluster",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.numTokensPerNode",
       "type" : "java.lang.Integer",
       "description" : "Number of tokens per node; if using vnodes, should set this to a value like 256; will be overridden to 1 if USE_VNODES==false",
       "defaultValue" : 256,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cluster.initial.quorumSize",
       "type" : "java.lang.Integer",
       "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)",
       "defaultValue" : -1,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cluster.initial.size",
       "type" : "java.lang.Integer",
@@ -1586,52 +1587,53 @@ var items = {
       "label" : "Initial size",
       "priority" : 1.0,
       "pinned" : true,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cluster.max.size",
       "type" : "java.lang.Integer",
       "description" : "Size after which it will throw InsufficientCapacityException",
       "defaultValue" : 2147483647,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cluster.member.id",
       "type" : "java.lang.Integer",
       "description" : "The unique ID number (sequential) of a member of a cluster",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.availabilityZones",
       "type" : "java.util.Collection",
       "description" : "availability zones to use (if non-null, overrides other configuration)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.customChildFlags",
       "type" : "java.util.Map",
       "description" : "Additional flags to be passed to children when they are being created",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.firstmemberspec",
       "type" : "org.apache.brooklyn.api.entity.EntitySpec",
       "description" : "entity spec for creating the first member of the cluster (if unset, will use the member spec for all)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.maxConcurrentChildCommands",
       "type" : "java.lang.Integer",
       "description" : "[Beta] The maximum number of effector invocations that will be made on children at once (e.g. start, stop, restart). Any value null or less than or equal to zero means invocations are unbounded",
       "defaultValue" : 0,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.memberspec",
       "type" : "org.apache.brooklyn.api.entity.EntitySpec",
@@ -1640,106 +1642,106 @@ var items = {
       "label" : "Member spec",
       "priority" : 1.0,
       "pinned" : true,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.numAvailabilityZones",
       "type" : "java.lang.Integer",
       "description" : "number of availability zones to use (will attempt to auto-discover this number)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.quarantineFailedEntities",
       "type" : "java.lang.Boolean",
       "description" : "If true, will quarantine entities that fail to start; if false, will get rid of them (i.e. delete them)",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.quarantineFilter",
       "type" : "com.google.common.base.Predicate",
       "description" : "Quarantine the failed nodes that pass this filter (given the exception thrown by the node). Default is those that did not fail with NoMachinesAvailableException (Config ignored if quarantineFailedEntities is false)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.removalstrategy",
       "type" : "com.google.common.base.Function",
       "description" : "strategy for deciding what to remove when down-sizing",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.restartMode",
       "type" : "java.lang.String",
       "description" : "How this cluster should handle restarts; by default it is disallowed, but this key can specify a different mode. Modes supported by dynamic cluster are 'off', 'sequential', or 'parallel'. However subclasses can define their own modes or may ignore this.",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.zone.enable",
       "type" : "java.lang.Boolean",
       "description" : "Whether to use availability zones, or just deploy everything into the generic location",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.zone.failureDetector",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$ZoneFailureDetector",
       "description" : "Zone failure detector",
-      "defaultValue" : "ProportionalZoneFailureDetector{minDatapoints=2, timeToConsider=3600000, maxProportionFailures=0.9}",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dynamiccluster.zone.placementStrategy",
       "type" : "org.apache.brooklyn.entity.group.DynamicCluster$NodePlacementStrategy",
       "description" : "Node placement strategy",
       "defaultValue" : "org.apache.brooklyn.entity.group.zoneaware.BalancingNodePlacementStrategy",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "enricher.service_state.children_and_members.quorum.running",
       "type" : "org.apache.brooklyn.util.collections.QuorumCheck",
       "description" : "Problems check from children actual states (lifecycle), applied by default to members and children, not checking upness, but requiring by default that none are on-fire",
       "defaultValue" : "QuorumCheck[all;require=0,100.0%]",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "enricher.service_state.children_and_members.quorum.up",
       "type" : "org.apache.brooklyn.util.collections.QuorumCheck",
       "description" : "Up check, applied by default to members, requiring at least one present and up",
       "defaultValue" : "QuorumCheck[atLeastOne;require=1,0.0%]",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "group.members.delegate",
       "type" : "java.lang.Boolean",
       "description" : "Deprecated: Add delegate child entities for members of the group",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "group.members.delegate.nameFormat",
       "type" : "java.lang.String",
       "description" : "Deprecated: Delegate members name format string (Use %s for the original entity display name)",
       "defaultValue" : "%s",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "start.timeout",
       "type" : "org.apache.brooklyn.util.time.Duration",
       "description" : "Time to wait (after members' start() effectors return) for SERVICE_UP before failing (default is not to wait)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     } ],
     "sensors" : [ {
       "name" : "cassandra.cluster.datacenterUsages",
@@ -2014,167 +2016,167 @@ var items = {
       "description" : "The format for the directory created when the installation archive is extracted, if required. The version string will be passed in as the first argument, replacing the %s format specifier",
       "defaultValue" : "apache-cassandra-%s",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.broadcastAddressSensor",
       "type" : "java.lang.String",
       "description" : "sensor name from which to take the broadcast address; default (null) is a smart lookup",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.cluster.name",
       "type" : "java.lang.String",
       "description" : "Name of the Cassandra cluster",
       "defaultValue" : "BrooklynCluster",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.cluster.seeds.initial",
       "type" : "java.util.Set",
       "description" : "List of cluster nodes to seed this node",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.cluster.snitchName",
       "type" : "java.lang.String",
       "description" : "Type of the Cassandra snitch",
       "defaultValue" : "SimpleSnitch",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.config.customSnitchUrl",
       "type" : "java.lang.String",
       "description" : "URL for a jar file to be uploaded (e.g. \"classpath://org/apache/brooklyn/entity/nosql/cassandra/cassandra-multicloud-snitch.jar\"); defaults to null which means nothing to upload",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.config.fileName",
       "type" : "java.lang.String",
       "description" : "Name for the copied config file",
       "defaultValue" : "cassandra.yaml",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.config.rackdc.fileName",
       "type" : "java.lang.String",
       "description" : "Name for the copied rackdc config file (used for configuring replication, when a suitable snitch is used)",
       "defaultValue" : "cassandra-rackdc.properties",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.config.rackdc.templateUrl",
       "type" : "java.lang.String",
       "description" : "Template file (in freemarker format) for the cassandra-rackdc.properties config file",
       "defaultValue" : "classpath://org/apache/brooklyn/entity/nosql/cassandra/cassandra-rackdc.properties",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.config.templateUrl",
       "type" : "java.lang.String",
       "description" : "A URL (in freemarker format) for a cassandra.yaml config file (in freemarker format)",
       "defaultValue" : "classpath://org/apache/brooklyn/entity/nosql/cassandra/cassandra-${entity.majorMinorVersion}.yaml",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.gossip.port",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "Cassandra Gossip communications port",
       "defaultValue" : "7000-65535",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.install.mirror.url",
       "type" : "java.lang.String",
       "description" : "URL of mirror",
       "defaultValue" : "http://www.mirrorservice.org/sites/ftp.apache.org/cassandra",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.install.tgzUrl",
       "type" : "java.lang.String",
       "description" : "URL of TGZ download file",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.listenAddressSensor",
       "type" : "java.lang.String",
       "description" : "sensor name from which to take the listen address; default (null) is a smart lookup",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.native.port",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "Cassandra Native Transport port",
       "defaultValue" : "9042-65535",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.numTokensPerNode",
       "type" : "java.lang.Integer",
       "description" : "Number of tokens per node; if using vnodes, should set this to a value like 256",
       "defaultValue" : 1,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.replication.datacenterName",
       "type" : "java.lang.String",
       "description" : "Datacenter name (used for configuring replication, when a suitable snitch is used)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.replication.rackName",
       "type" : "java.lang.String",
       "description" : "Rack name (used for configuring replication, when a suitable snitch is used)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.rpcAddressSensor",
       "type" : "java.lang.String",
       "description" : "sensor name from which to take the RPC address; default (null) is 0.0.0.0",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.ssl-gossip.port",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "Cassandra Gossip SSL communications port",
       "defaultValue" : "7001-65535",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.thrift.port",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "Cassandra Thrift RPC port",
       "defaultValue" : "9160-65535",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "cassandra.tokens",
       "type" : "java.util.Set",
       "description" : "Cassandra Tokens",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "children.startable.mode",
       "type" : "java.lang.Enum",
@@ -2197,8 +2199,8 @@ var items = {
         "value" : "BACKGROUND_LATE",
         "description" : "BACKGROUND_LATE"
       } ],
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "datastore.creation.script.contents",
       "type" : "java.lang.String",
@@ -2208,7 +2210,8 @@ var items = {
       "label" : "Creation script contents",
       "priority" : 1.0,
       "pinned" : true,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "datastore.creation.script.template.url",
       "type" : "java.lang.String",
@@ -2218,7 +2221,8 @@ var items = {
       "label" : "Creation script template URL",
       "priority" : 1.0,
       "pinned" : true,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "datastore.creation.script.url",
       "type" : "java.lang.String",
@@ -2228,159 +2232,160 @@ var items = {
       "label" : "Creation script URL",
       "priority" : 1.0,
       "pinned" : true,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "dontRequireTtyForSudo",
       "type" : "java.lang.Boolean",
       "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.",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "download.addon.urls",
       "type" : "java.util.Map",
       "description" : "URL for downloading named add-ons; uses FreeMarker templating format to substitute things like ${version} automatically",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "download.url",
       "type" : "java.lang.String",
       "description" : "URL for downloading the installer; uses FreeMarker templating format to substitute things like ${version} automatically",
       "defaultValue" : "${driver.mirrorUrl}/${version}/apache-cassandra-${version}-bin.tar.gz",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "effector.add.openInboundPorts",
       "type" : "java.lang.Boolean",
       "description" : "Whether to add an effector to the entity for opening ports through Cloud security groups",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "expandedinstall.dir",
       "type" : "java.lang.String",
       "description" : "Directory for installed artifacts (e.g. expanded dir after unpacking .tgz)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.customize",
       "type" : "java.util.Map",
       "description" : "Files to be copied before customize; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.install",
       "type" : "java.util.Map",
       "description" : "Files to be copied before install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.preinstall",
       "type" : "java.util.Map",
       "description" : "Files to be copied before pre-install; mapping from resource to the destination name relative to installDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "files.runtime",
       "type" : "java.util.Map",
       "description" : "Files to be copied before launch (and before pre-launch); mapping from resource to the destination name relative to runDir",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "inboundPorts.autoInfer",
       "type" : "java.lang.Boolean",
       "description" : "By default, the ports to open in iptables and security group is inferred from the config keys. This follows a naming convention (defaulting to all config keys matching the name '*.\\.port', but customizable with the config key 'inboundPorts.configRegex'), and also including all config keys of type 'PortRange'. This behaviour is turned off by setting it to 'false'.",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "inboundPorts.configRegex",
       "type" : "java.lang.String",
       "description" : "Regex governing the opening of ports based on config names (see 'inboundPorts.autoInfer')",
       "defaultValue" : ".*\\.port",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "install.dir",
       "type" : "java.lang.String",
       "description" : "Directory in which this software will be installed (if downloading/unpacking artifacts explicitly); uses FreeMarker templating format",
       "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'),'')))}",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "install.unique_label",
       "type" : "java.lang.String",
       "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,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "install.version",
       "type" : "java.lang.String",
       "description" : "The suggested version of the software to be installed",
       "defaultValue" : "1.2.16",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "java.check.hostname.bug",
       "type" : "java.lang.Boolean",
       "description" : "Check whether hostname is too long and will likely crash Java 1.7 due to bug http://bugs.java.com/view_bug.do?bug_id=7089443",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "java.metrics.mxbeanStatsEnabled",
       "type" : "java.lang.Boolean",
       "description" : "Enables collection of JVM stats from the MXBeans, such as memory and thread usage (default is true)",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "java.opts",
       "type" : "java.util.Set",
       "description" : "Java command line options",
       "defaultValue" : [ ],
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "java.sysprops",
       "type" : "java.util.Map",
       "description" : "Java command line system properties (converted automatically into the format '-Dkey=value')",
       "defaultValue" : { },
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "java.version.required",
       "type" : "java.lang.String",
       "description" : "Java version required",
       "defaultValue" : "1.7",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.agent.local.path",
       "type" : "java.lang.String",
       "description" : "Optional path to where JMX driver should be installed on the local machine (if using JMXMP or custom agent)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.agent.mode",
       "type" : "java.lang.Enum",
@@ -2406,334 +2411,334 @@ var items = {
         "value" : "NONE",
         "description" : "NONE"
       } ],
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.context",
       "type" : "java.lang.String",
       "description" : "JMX context path (defaults to 'jmxrmi')",
       "defaultValue" : "jmxrmi",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.direct.port",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "JMX direct/private port (e.g. JMX RMI server port, or JMXMP port, but not RMI registry port)",
       "defaultValue" : "31001-65535",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.direct.port.legacy.NOT_USED",
       "type" : "org.apache.brooklyn.api.location.PortRange",
       "description" : "Legacy definition JMX direct/private port (e.g. JMX RMI server port, or JMXMP port, but not RMI registry port)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.enabled",
       "type" : "java.lang.Boolean",
       "description" : "Whether JMX is enabled",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.password",
       "type" : "java.lang.String",
       "description" : "Optional JMX password to use when connecting",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.ssl.access.cert",
       "type" : "java.security.cert.Certificate",
       "description" : "certificate of key used to access a JMX agent",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.ssl.access.key",
       "type" : "java.security.PrivateKey",
       "description" : "key used to access a JMX agent (typically per entity, embedded in the managed JVM)",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.ssl.enabled",
       "type" : "java.lang.Boolean",
       "description" : "Whether to enable JMX over JMXMP with SSL/TLS",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "jmx.user",
       "type" : "java.lang.String",
       "description" : "Optional JMX username to use when connecting",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.customize",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking customize; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.install",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking install; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
-      "name" : "latch.install.reources",
+      "name" : "latch.install.resources",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking files being copied before the install; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.launch",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking luanch; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.launch.resources",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking files being copied before the launch; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.setup",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking setup; if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.start",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking start (done post-provisioning for software processes); if non-null will wait for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "latch.stop",
       "type" : "java.lang.Boolean",
       "description" : "Latch for blocking stop; if non-null will wait for at most 1 minute for this to resolve (normal use is with '$brooklyn:attributeWhenReady')",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "metrics.usage.retrieve",
       "type" : "java.lang.Boolean",
       "description" : "Whether to retrieve the usage (e.g. performance) metrics",
       "defaultValue" : true,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "openIptables",
       "type" : "java.lang.Boolean",
       "description" : "Whether to open the INBOUND_PORTS via iptables rules; if true then ssh in to run iptables commands, as part of machine provisioning",
       "defaultValue" : false,
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "post.customize.command",
       "type" : "java.lang.String",
       "description" : "Command to be run after the customize phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],
+      "links" : { }
     }, {
       "name" : "post.install.command",
       "type" : "java.lang.String",
       "description" : "Command to be run after the install phase",
       "reconfigurable" : false,
-      "pinned" : false,
-      "constraints" : [ ]
+      "constraints" : [ ],

[... 32306 lines stripped ...]


Mime
View raw message