mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-06 07:11:13 +02:00
feat: add response models for endpoints returning untyped objects
This commit is contained in:
24 files changed
+1192
-53
No files matched your search
@@ -274,3 +274,81 @@ class MarkerDefinitionCreate(BaseModel):
|
||||
@classmethod
|
||||
def _both_to_none(cls, v):
|
||||
return None if v == "both" else v
|
||||
|
||||
|
||||
class Marker(BaseModel):
|
||||
"""
|
||||
A traffic-insight marker attached to a link.
|
||||
"""
|
||||
|
||||
bpf: str = Field(..., description="libpcap BPF expression")
|
||||
tag: Optional[int] = Field(None, description="Correlation id shared by markers replayed together")
|
||||
enabled: bool = Field(True, description="Whether the marker is capturing")
|
||||
color: Optional[str] = Field(None, description="Hex color used by the Web UI")
|
||||
highlight_duration: Optional[int] = Field(None, description="Web UI highlight duration in milliseconds")
|
||||
capture_node_id: Optional[str] = Field(None, description="Node whose uBridge hosts the marker")
|
||||
direction: Optional[str] = Field(None, description="'tx' or 'rx', null for both directions")
|
||||
data_link_type: Optional[str] = Field(None, description="pcap link-layer type of the capture file")
|
||||
inherited_from: Optional[str] = Field(None, description="Project marker definition this marker was copied from")
|
||||
|
||||
|
||||
class ProjectMarker(Marker):
|
||||
"""
|
||||
A marker in the project-wide aggregation, with the link and node it belongs to.
|
||||
"""
|
||||
|
||||
link_id: str
|
||||
node_id: Optional[str] = None
|
||||
|
||||
|
||||
class MarkerDefinition(BaseModel):
|
||||
"""
|
||||
A project-level marker definition inherited by every link.
|
||||
"""
|
||||
|
||||
bpf: str = Field(..., description="libpcap BPF expression")
|
||||
tag: Optional[int] = Field(None, description="Correlation id shared by markers replayed together")
|
||||
direction: Optional[str] = Field(None, description="'tx' or 'rx', null for both directions")
|
||||
color: Optional[str] = Field(None, description="Hex color used by the Web UI")
|
||||
highlight_duration: Optional[int] = Field(None, description="Web UI highlight duration in milliseconds")
|
||||
data_link_type: Optional[str] = Field(None, description="pcap link-layer type of inherited markers")
|
||||
paused: bool = Field(False, description="Whether the inherited markers are paused")
|
||||
|
||||
|
||||
class MarkerDefinitionWithLinks(MarkerDefinition):
|
||||
"""
|
||||
A project-level marker definition with the links currently carrying a copy of it.
|
||||
"""
|
||||
|
||||
link_ids: List[str] = Field(..., description="Links carrying an inherited copy of the definition")
|
||||
|
||||
|
||||
class LinkWiresharkRestart(BaseModel):
|
||||
"""
|
||||
Result of restarting the Wireshark window of a link capture.
|
||||
"""
|
||||
|
||||
status: str
|
||||
|
||||
|
||||
class LinkFilterParameter(BaseModel):
|
||||
"""
|
||||
A parameter of a packet filter.
|
||||
"""
|
||||
|
||||
name: str
|
||||
type: str
|
||||
minimum: Optional[int] = None
|
||||
maximum: Optional[int] = None
|
||||
unit: Optional[str] = None
|
||||
|
||||
|
||||
class LinkFilterInfo(BaseModel):
|
||||
"""
|
||||
A packet filter that can be applied to a link.
|
||||
"""
|
||||
|
||||
type: str = Field(..., description="Filter identifier used as key in the link 'filters' property")
|
||||
name: str
|
||||
description: str
|
||||
parameters: List[LinkFilterParameter]
|
||||
Reference in new issue
Block a user