Plugin config files are interpreted with the informal syntax. Since leading/trailing whitespace is not significant, it is recommended to write complex entries with a space between the two equals signs. For instance, if a plugin checked for an AlertLevel conditional expression on its configuration to determine when to send an alert, you could write it as:
AlertLevel = =LoadAvg > 4
Alternatively, plugin config files can use a colon as the separator instead, to make it more clear:
AlertLevel : =LoadAvg > 4
This can then be transformed into:
AlertLevel := LoadAvg > 4
This is often the cleanest way to write it, but the meaning still comes from the leading = and not from the combined :=.
As of version 6.1.0, plugin configurations can use “dotted” attributes to define nested configurations. For instance, suppose you have a plugin that expects a nested record specifying the source and destination:
Source.Host = example.com
Source.User = jsmith
Source.Password = p4ssw0rd
This is equivalent to the following, but can be much easier to understand:
Source := [Host="example.com"; User="jsmith"; Password="p4ssw0rd"]
Plugin Attributes
Each plugin has a set of named properties. These properties are stored by the system as an ad of type Plugin. The table below lists many default plugin properties. A plugin may also have an arbitrary number of custom properties, and some parts of CycleServer may use attributes not listed below.
Attribute | Value Type | Status | Description |
---|---|---|---|
Name | String | Required | unique name for this plugin |
Disabled | Boolean | Optional | Flag indicating whether this plugin is disabled. Disabled plugins cannot be retrieved from the plugin registry. The default value is false. |
Dependencies | List | Optional | List of plugins that this plugin depends on. Most plugins imported are automatically detected as dependencies. Note: adding dependencies on plugins in another app will not cause that app to be loaded first. |
Version | String | Optional | Version of the code currently loaded into the system. |
PluginClass | String | Optional | Name of a Java class used to create new instances of this plugin. |
JavaPluginClass | String | Optional | Name of a Java interface that this plugin should be seen as when returned by the plugin registry. |
WebContent | String | Optional | If present, indicates how HTTP requests to this plugin should be handled. See webcontent plugins |
UriPatterns | String | Optional | Comma-separated list of URI patterns associated with this plugin. |
Hook | String | Optional | Name of the plugin that this plugin overrides. |
HookOrder | Integer | Optional | Defines the order in which the hooks for the Hook plugin are looked up. Hooks with the lowest value come first. Only the first valid hook is executed. |
AdTriggerType | String | Optional | Identifies this plugin as being a handler for ad triggers of type AdTriggerType. |
AdTriggerTypeOrder | Integer | Optional | Defines the order in which the plugins of type AdTriggerType are executed. |
AdEventType | String | Optional | Identifies this plugin as being a handler for ad events of type AdEventType |
AdEventTypeOrder | Integer | Optional | Defines the order in which the plugins of type AdEventType are executed. |
Command | Boolean | Optional | If true, this plugin can be triggered from the command-line as ./cycle_server <command_Name> <cluster_name> |
Command_Name | String | Optional | Used in conjunction with Command, the name that will be used to execute this plugin on the command-line, with optional arguments |
The following attributes are set by the system automatically
Component | String | Auto-generated | The name of the component that contains this plugin. |
Location | String | Auto-generated | Indicates where this plugin came from (might be a path or a URL). |
LoadTime | AbsTime | Auto-generated | Time at which this plugin was loaded. |
LastModified | AbsTime | Auto-generated | Time at which the code for this plugin or any of its properties was last modified. |
Language | String | Auto-generated | Language used to implement this plugin, e.g. Java or Python. |
Installed | Boolean | Auto-generated | Flag indicating whether this plugin was installed. The value is set to true only after the onInstall() function completes successfully. |