blob: 95ed5257058de1bdad85a125c2740280ba79997c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
from pydantic import BaseModel
import ipaddress
class Placement(BaseModel):
x: int
y: int
height: int
width: int
class PublicDevice(BaseModel):
distro_name: str | None = None
tags: list[str] = []
placement: Placement | None = None
class PublicDevices(BaseModel):
switches: dict[str, PublicDevice]
time: int | None = None
hash: str | None = None
class DeviceInterface(BaseModel):
name: str
descr: str
type: str
class DeviceManagement(BaseModel):
sysname: str = "e1-1"
serial: str | None = None
platform: str | None = None
mgmt_v4_addr: ipaddress.IPv4Address | None = None
mgmt_v6_addr: ipaddress.IPv6Address | None = None
mgmt_vlan: str | None = None
traffic_vlan: str | None = None
last_updated: str | None = None
distro_name: str | None = None
distro_phy_port: str | None = None
# interfaces: dict[str, DeviceInterface]
class DevicesManagement(BaseModel):
switches: dict[str, DeviceManagement]
time: int | None = None
hash: str | None = None
|