zeek/doc/scripts/base/frameworks/config/main.zeek.rst
Tim Wojtulewicz ded98cd373 Copy docs into Zeek repo directly
This is based on commit 2731def9159247e6da8a3191783c89683363689c from the
zeek-docs repo.
2025-09-26 02:58:29 +00:00

132 lines
4.3 KiB
ReStructuredText

:tocdepth: 3
base/frameworks/config/main.zeek
================================
.. zeek:namespace:: Config
The configuration framework provides a way to change Zeek options
(as specified by the "option" keyword) at runtime. It also logs runtime
changes to options to config.log.
:Namespace: Config
:Imports: :doc:`base/frameworks/cluster </scripts/base/frameworks/cluster/index>`
Summary
~~~~~~~
Types
#####
============================================== ==================================
:zeek:type:`Config::Info`: :zeek:type:`record` Represents the data in config.log.
============================================== ==================================
Redefinitions
#############
======================================= =====================================
:zeek:type:`Log::ID`: :zeek:type:`enum` The config logging stream identifier.
* :zeek:enum:`Config::LOG`
======================================= =====================================
Events
######
================================================= =================================================================
:zeek:id:`Config::log_config`: :zeek:type:`event` Event that can be handled to access the :zeek:type:`Config::Info`
record as it is sent on to the logging framework.
================================================= =================================================================
Hooks
#####
=========================================================== =============================================
:zeek:id:`Config::log_policy`: :zeek:type:`Log::PolicyHook` A default logging policy hook for the stream.
=========================================================== =============================================
Functions
#########
=================================================== ==================================================================
:zeek:id:`Config::set_value`: :zeek:type:`function` This function is the config framework layer around the lower-level
:zeek:see:`Option::set` call.
=================================================== ==================================================================
Detailed Interface
~~~~~~~~~~~~~~~~~~
Types
#####
.. zeek:type:: Config::Info
:source-code: base/frameworks/config/main.zeek 17 28
:Type: :zeek:type:`record`
.. zeek:field:: ts :zeek:type:`time` :zeek:attr:`&log`
Timestamp at which the configuration change occurred.
.. zeek:field:: id :zeek:type:`string` :zeek:attr:`&log`
ID of the value that was changed.
.. zeek:field:: old_value :zeek:type:`string` :zeek:attr:`&log`
Value before the change.
.. zeek:field:: new_value :zeek:type:`string` :zeek:attr:`&log`
Value after the change.
.. zeek:field:: location :zeek:type:`string` :zeek:attr:`&optional` :zeek:attr:`&log`
Optional location that triggered the change.
Represents the data in config.log.
Events
######
.. zeek:id:: Config::log_config
:source-code: base/frameworks/config/main.zeek 32 32
:Type: :zeek:type:`event` (rec: :zeek:type:`Config::Info`)
Event that can be handled to access the :zeek:type:`Config::Info`
record as it is sent on to the logging framework.
Hooks
#####
.. zeek:id:: Config::log_policy
:source-code: base/frameworks/config/main.zeek 14 14
:Type: :zeek:type:`Log::PolicyHook`
A default logging policy hook for the stream.
Functions
#########
.. zeek:id:: Config::set_value
:source-code: base/frameworks/config/main.zeek 99 102
:Type: :zeek:type:`function` (ID: :zeek:type:`string`, val: :zeek:type:`any`, location: :zeek:type:`string` :zeek:attr:`&default` = ``""`` :zeek:attr:`&optional`) : :zeek:type:`bool`
This function is the config framework layer around the lower-level
:zeek:see:`Option::set` call. Config::set_value will set the configuration
value for all nodes in the cluster, no matter where it was called. Note
that :zeek:see:`Option::set` does not distribute configuration changes
to other nodes.
:param ID: The ID of the option to update.
:param val: The new value of the option.
:param location: Optional parameter detailing where this change originated from.
:returns: true on success, false when an error occurs.