The meta
library provides information about the running ruleset. The following functions are available:
meta:rid() -
returns the ruleset ID of the current running ruleset.meta:version()
returns the version of the currently running ruleset.-
meta:callingRID()
returns the RID of the calling ruleset if running in a module, or the current ruleset ID otherwise.-
meta:callingVersion()
returns the version of the calling ruleset if running in a module, or the current ruleset version otherwise.-
meta:moduleRID()
returns the RID of the module if running in a module, or the current ruleset ID otherwise.-
meta:moduleVersion()
returns the version of the module if running in a module, or the current ruleset version otherwise.-
meta:inModule()
returns a Boolean value indicating whether the current code is running in a module.-
meta:host()
- returns the hostname of the rules engine evaluating the ruleset. Note: this is the public name, not the individual machine name.meta:rulesetName()
- returns the name from the meta sections of the current rulesetmeta:rulesetAuthor()
- returns the author from the meta sections of the current rulesetmeta:rulesetDescription()
- returns the description from the meta sections of the current ruleset- meta:ruleName() - returns the names of the rule being evaluated.
meta:eci()
- returns the event channel identifier on which the current event was raise
Note, in the case of meta:moduleRID()
, meta:moduleVersion()
, and meta:inModule()
, care has been taken to preserve static behavior. So, for example, if you do the following, you should get the result you expect based on static function semantics:
ruleset my_module { ... global { myRid = function() { meta:moduleRID() } } } ruleset use_my_module { meta { use module my_module } global { x = my_module:myRid(); // x = my_module, not use_my_module } }