main
py 64 lines 1.96 KB
Raw
1 from typing import List
2 from typing import Optional
3
4 from pydantic import BaseModel
5
6
7 class AlertCreationEventConfigCreate(BaseModel):
8 event_id: str
9 field: str
10 value: str
11
12
13 class EventOrderCreate(BaseModel):
14 order_label: str
15 event_configs: List[AlertCreationEventConfigCreate]
16
17
18 class AlertCreationSettingsCreate(BaseModel):
19 customer_code: str
20 customer_name: str
21 excluded_wazuh_rules: Optional[str] = None
22 excluded_suricata_rules: Optional[str] = None
23 timefield: Optional[str] = None
24 office365_organization_id: Optional[str] = None
25 iris_customer_id: Optional[int] = None
26 iris_customer_name: Optional[str] = None
27 iris_index: Optional[str] = None
28 grafana_url: Optional[str] = None
29 misp_url: Optional[str] = None
30 opencti_url: Optional[str] = None
31 custom_message: Optional[str] = None
32 shuffle_endpoint: Optional[str] = None
33 nvd_url: Optional[str] = "https://services.nvd.nist.gov/rest/json/cves/2.0?cveId"
34 event_orders: Optional[List[EventOrderCreate]] = None
35
36
37 class AlertCreationEventConfigResponse(BaseModel):
38 event_id: str
39 field: str
40 value: str
41
42
43 class EventOrderResponse(BaseModel):
44 order_label: str
45 event_configs: List[AlertCreationEventConfigResponse]
46
47
48 class AlertCreationSettingsResponse(BaseModel):
49 customer_code: str
50 customer_name: str
51 excluded_wazuh_rules: Optional[str] = None
52 excluded_suricata_rules: Optional[str] = None
53 timefield: Optional[str] = None
54 office365_organization_id: Optional[str] = None
55 iris_customer_id: Optional[int] = None
56 iris_customer_name: Optional[str] = None
57 iris_index: Optional[str] = None
58 grafana_url: Optional[str] = None
59 misp_url: Optional[str] = None
60 opencti_url: Optional[str] = None
61 custom_message: Optional[str] = None
62 shuffle_endpoint: Optional[str] = None
63 nvd_url: Optional[str] = "https://services.nvd.nist.gov/rest/json/cves/2.0?cveId"
64 event_orders: Optional[List[EventOrderResponse]] = None