Skip to content

Config

This module contains the configuration model descriptions for the tool.

InputDict

Type alias for dicts containing parsed input variables

InputVarsDict

Type alias for dicts containing raw string encoded input variables

Config pydantic-model

Kyoushi Generator tool configuration model

Examples:

    seed: 1337
    plugin:
        include_names:
            - .*
        exclude_names:
            - evil\..*
    jinja:
        block_start: '\{%'
        block_end: '}'
        variable_start: '\var{'
        variable_end: '}'
    inputs:
        employee_count:
            model: int
            required: true
            description: Number of employees that should be simulated in the testbed.
            prompt: Please enter the number of employees that should be created

inputs: Input pydantic-field

The TIMs input definitions used for receiving variables from the CLI

jinja: JinjaConfig pydantic-field

The jinja2 template engine configuration

plugin: PluginConfig pydantic-field

The plugin configuration

seed: int pydantic-field

A hard coded seed to use for instance creation with this model. Can be overwritten by CLI arguments.

Input pydantic-model

Model used for configuring CLI inputs.

CLI inputs are configured as part ot the TIM configuration and must at least define a value model (i.e., Python type hint string for defining input type). Additionally it is also possible define a input value description and default value, as well make the input required.

description: str pydantic-field

A textual description of the input variable

model: str pydantic-field required

The python type hint to use for loading this input

required: bool pydantic-field

If the input is required or not.

value: Union[str, cr_kyoushi.generator.config.MissingInput] pydantic-field

The json encoded value assigned to the input

InputName

Restricted string defining regex used to validate CLI input names.

JinjaConfig pydantic-model

Configuration options for the jinja2 environment.

block_end: str pydantic-field

The block directives end string

block_start: str pydantic-field

The block directives start string

comment_end: str pydantic-field

The comment directives end string

comment_start: str pydantic-field

The comment directives start string

line_comment: str pydantic-field

The string to indicate jinja2 line comments

line_statement: str pydantic-field

The string to indicate jinja2 line statements

variable_end: str pydantic-field

The variable directives end string

variable_start: str pydantic-field

The variable directives start string

MissingInput pydantic-model

Canary class used to check if no input was passed.

Objects of this class type are used as default values for the Input module. This makes it possible to check if an input value has been passed or not by using isinstance. We do this so we can also support passing in None values as input.

PluginConfig pydantic-model

Configuration options for the state machine factory plugin system.

exclude_names: Pattern pydantic-field

A list of regular expressions used to define which plugins to explicitly exclude.

include_names: Pattern pydantic-field

A list of regular expressions used to define which plugins to include.