Files
2026-05-19 14:53:36 +02:00

29 lines
655 B
Python

from datetime import datetime
from typing import Literal
from pydantic import BaseModel, Field
class DnsIngestEvent(BaseModel):
src_ip: str
qname: str
answers: list[str] = Field(default_factory=list)
ts: datetime | None = None
class DhcpIngestEvent(BaseModel):
ip: str
mac: str | None = None
hostname: str | None = None
state: Literal["online", "offline", "lease"] = "lease"
ts: datetime | None = None
class FlowIngestEvent(BaseModel):
src_ip: str
dst_ip: str | None = None
dst_host: str | None = None
protocol: str | None = None
bytes_count: int | None = None
ts: datetime | None = None