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.