24 lines
433 B
Python
24 lines
433 B
Python
from typing import Dict, List, Optional
|
|
|
|
from pydantic import BaseModel
|
|
|
|
__all__ = ("PipeStr", "TaskPreset", "FilePreset", "Preset")
|
|
|
|
|
|
PipeStr = str
|
|
|
|
|
|
class TaskPreset(BaseModel):
|
|
conditions: List[PipeStr]
|
|
variables: Optional[Dict[str, PipeStr]]
|
|
commands: List[str]
|
|
|
|
|
|
class FilePreset(BaseModel):
|
|
filename: str
|
|
tasks: Dict[str, Dict[str, TaskPreset]]
|
|
|
|
|
|
class Preset(BaseModel):
|
|
presets: Dict[str, FilePreset]
|