configuration objects ===================== .. meta:: :description: RainerScript configuration objects and common object syntax rules. :keywords: rsyslog, RainerScript, configuration objects, action, module, input, semicolon .. summary-start RainerScript configuration objects define inputs, actions, modules, templates, rulesets, and other rsyslog configuration elements. Object parameters are case-insensitive, and objects are closed by their final parenthesis. .. summary-end .. note:: Configuration object parameters are case-insensitive. Common Parameters ----------------- config.enabled ^^^^^^^^^^^^^^ .. versionadded:: 8.33.0 All configuration objects have a ``config.enabled`` parameter. For auto-generated configs, it is useful to have the ability to disable some config constructs even though they may be specified inside the config. This can be done via the ``config.enabled`` parameter. If set to ``on`` or not specified, the construct will be used, if set to any other value, it will be ignored. This can be used together with the backtick functionality to enable or disable parts of the configuration from either a file or environment variable. Example: Let's say we want to conditionally load a module. Environment variable ``LOAD_IMPTCP`` will be either unset or ``off`` . Then we can use this config construct: .. code-block:: none :emphasize-lines: 2 module(load="imptcp" config.enabled=`echo $LOAD_IMPTCP`) If the variable is set to ``off``, the module will **not** be loaded. Statement Terminators --------------------- Configuration objects without body blocks are complete when their closing parenthesis is reached. Objects with body blocks, such as ``ruleset()`` and list-type ``template()``, are complete at their closing curly brace ``}``. Do not add a semicolon after object statements such as ``action()``, ``module()``, ``input()``, ``template()``, or ``ruleset()``: .. code-block:: rsyslog action(type="omfile" file="/var/log/messages") # correct action(type="omfile" file="/var/log/messages"); # invalid Semicolons are used by expression-style RainerScript statements where they are documented, for example ``set``, ``reset``, ``unset``, and ``call_indirect``. Legacy selector and action syntax also has semicolon meanings of its own; those legacy uses do not make ``;`` a universal RainerScript statement terminator. Objects ------- .. toctree:: :maxdepth: 1 :hidden: configuration_objects/ratelimit action() ^^^^^^^^ The :doc:`action <../configuration/actions>` object is the primary means of describing actions to be carried out. global() ^^^^^^^^ This is used to set global configuration parameters. For details, please see the :doc:`rsyslog global configuration object `. input() ^^^^^^^ The :doc:`input <../configuration/input>` object is the primary means of describing inputs, which are used to gather messages for rsyslog processing. module() ^^^^^^^^ The module object is used to load plugins. parser() ^^^^^^^^ The :doc:`parser <../configuration/parser>` object is used to define custom parser objects. timezone() ^^^^^^^^^^ The :doc:`timezone <../configuration/timezone>` object is used to define timezone settings. include() ^^^^^^^^^ The :doc:`include ` object is use to include configuration snippets stored elsewhere into the configuration. ratelimit() ^^^^^^^^^^^ The :doc:`ratelimit ` object is used to define named rate limit policies.