Add SNMP device discovery API

This commit is contained in:
Keith Smith
2026-05-23 20:19:38 -06:00
parent 0cbc6b6ea8
commit a38438e7f1
7 changed files with 635 additions and 17 deletions
+33 -2
View File
@@ -1,6 +1,5 @@
from datetime import datetime
from typing import Any
from typing import Literal
from typing import Any, Literal
from pydantic import BaseModel, Field
@@ -211,3 +210,35 @@ class SnmpCredentialProfileRead(BaseModel):
has_secret: bool
created_at: datetime
updated_at: datetime
class SnmpDiscoveryRequest(BaseModel):
host: str = Field(min_length=1, max_length=255)
credential_profile_id: int
class SnmpDiscoveredInterfaceRead(BaseModel):
index: int
name: str
description: str | None
admin_status: str | None
oper_status: str | None
speed_bps: int | None
class SnmpDiscoveryItemRead(BaseModel):
item_id: str
item_type: str
group: str
label: str
unit: str | None = None
class SnmpDiscoveryRead(BaseModel):
host: str
credential_profile_id: int
device_name: str | None
description: str | None
uptime_seconds: int | None
interfaces: list[SnmpDiscoveredInterfaceRead]
monitorable_items: list[SnmpDiscoveryItemRead]