diff options
Diffstat (limited to 'hrc/config.py')
| -rw-r--r-- | hrc/config.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/hrc/config.py b/hrc/config.py index e69de29..7db4efe 100644 --- a/hrc/config.py +++ b/hrc/config.py @@ -0,0 +1,28 @@ +from typing import Set, Union + +from pydantic import BaseModel, ConfigDict, DirectoryPath, Field + +class ConfigModel(BaseModel): + model_config = ConfigDict(extra="allow") + + __config_name__: str = "" + + +class LogConfig(ConfigModel): + level: Union[str, int] = "DEBUG" + verbose_exception: bool = False + + +class CoreConfig(ConfigModel): + rules: Set[str] = Field(default_factory=set) + rule_dirs: Set[DirectoryPath] = Field(default_factory=set) + log: LogConfig = LogConfig() + + +class RuleConfig(ConfigModel): + """rule configuration.""" + + +class MainConfig(ConfigModel): + core: CoreConfig = CoreConfig() + rule: RuleConfig = RuleConfig()
\ No newline at end of file |
