aboutsummaryrefslogtreecommitdiffstats
path: root/api/app/models/network.py
diff options
context:
space:
mode:
Diffstat (limited to 'api/app/models/network.py')
-rw-r--r--api/app/models/network.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/api/app/models/network.py b/api/app/models/network.py
new file mode 100644
index 0000000..ec567a5
--- /dev/null
+++ b/api/app/models/network.py
@@ -0,0 +1,19 @@
+from pydantic import BaseModel
+import ipaddress
+
+
+# name, vlan, networks.tags, switches.sysname as router, subnet4, subnet6, gw4, gw6
+class Network(BaseModel):
+ name: str = "switches-mgmt"
+ vlan: int | None = 1337
+ tags: list[str] = []
+ subnet4: ipaddress.IPv4Network | None = "198.51.100.0/24"
+ subnet6: ipaddress.IPv6Network | None = "2001:db8:5b96::/64"
+ gw4: ipaddress.IPv4Address | None = "198.51.100.1"
+ gw6: ipaddress.IPv6Address | None = "2001:db8:5b96::1"
+
+
+class Networks(BaseModel):
+ networks: dict[str, Network]
+ time: int | None = None
+ hash: str | None = None