# Getting configuration values

When loading configuration values for Monitors, Alerters and Loggers, you can use the get_config_option() function to perform sanity checks on the loaded config.

get_config_option(config_options: dict, key: str[, default=None[, required=False[, required_type="str"[, allowed_values=None[, allow_empty=True[, minimum=None[, maximum=None]]]]]]])

  Get a config value out of a dict, and perform basic validation on it.

  Parameters:

    - config_options (dict) – The dict to get the value from

    - key (str) – The key to the value in the dict

    - default – The default value to return if the key is not found

    - required (bool) – Throw an exception if the value is not present (and default is None)

    - required_type (str) – One of str, int, float, bool, [int] (list of int), [str] (list of str)

    - allowed_values – A list of allowed values

    - allow_empty (bool) – Allow the empty string when required_type is “str”

    - minimum (integer, float or None) – The minimum allowed value for int and float

    - maximum (integer, float or None) – The maximum allowed value for int and float

  Returns:

    the fetched configuration value (or the default)

  Note that the return type of the function signature covers all supported types, so you should use `typing.cast()` to help mypy understand. Do not use assert.