| 1 | from typing import List |
| 2 | from typing import Optional |
| 3 | |
| 4 | from pydantic import BaseModel |
| 5 | |
| 6 | |
| 7 | class SysmonConfigDataStoreCreation(BaseModel): |
| 8 | customer_code: str |
| 9 | content_type: str = "application/xml" |
| 10 | bucket_name: str = "sysmon-configs" |
| 11 | |
| 12 | |
| 13 | class SysmonConfigUploadResponse(BaseModel): |
| 14 | success: bool |
| 15 | message: str |
| 16 | customer_code: str |
| 17 | filename: str |
| 18 | overwritten: bool |
| 19 | |
| 20 | |
| 21 | class SysmonConfigListResponse(BaseModel): |
| 22 | success: bool |
| 23 | message: str |
| 24 | customer_codes: List[str] |
| 25 | |
| 26 | |
| 27 | class SysmonConfigContentResponse(BaseModel): |
| 28 | success: bool |
| 29 | message: str |
| 30 | customer_code: str |
| 31 | config_content: str |
| 32 | |
| 33 | |
| 34 | class SysmonConfigDeploymentResult(BaseModel): |
| 35 | success: bool |
| 36 | message: str |
| 37 | customer_code: str |
| 38 | worker_success: bool = False |
| 39 | worker_message: Optional[str] = None |
| 40 | error_detail: Optional[str] = None |