Add asset-based monitor setup
This commit is contained in:
@@ -60,6 +60,7 @@ class MonitorRead(MonitorCreate):
|
||||
class WebsiteMonitorCreate(BaseModel):
|
||||
name: str = Field(min_length=1, max_length=160)
|
||||
url: str = Field(min_length=1, max_length=512)
|
||||
asset_id: int | None = None
|
||||
expected_status: int = Field(default=200, ge=100, le=599)
|
||||
expected_text: str | None = None
|
||||
unexpected_text: str | None = None
|
||||
@@ -76,6 +77,7 @@ class WebsiteMonitorCreate(BaseModel):
|
||||
class PingMonitorCreate(BaseModel):
|
||||
name: str = Field(min_length=1, max_length=160)
|
||||
host: str = Field(min_length=1, max_length=255)
|
||||
asset_id: int | None = None
|
||||
timeout_seconds: int = Field(default=5, ge=1, le=60)
|
||||
interval_seconds: int = Field(default=60, ge=10)
|
||||
create_asset: bool = True
|
||||
@@ -88,6 +90,7 @@ class TcpMonitorCreate(BaseModel):
|
||||
name: str = Field(min_length=1, max_length=160)
|
||||
host: str = Field(min_length=1, max_length=255)
|
||||
port: int = Field(ge=1, le=65535)
|
||||
asset_id: int | None = None
|
||||
timeout_seconds: int = Field(default=5, ge=1, le=60)
|
||||
interval_seconds: int = Field(default=60, ge=10)
|
||||
create_asset: bool = True
|
||||
@@ -234,6 +237,14 @@ class SnmpDiscoveryItemRead(BaseModel):
|
||||
unit: str | None = None
|
||||
|
||||
|
||||
class SnmpMonitorsCreate(BaseModel):
|
||||
host: str = Field(min_length=1, max_length=255)
|
||||
asset_id: int
|
||||
credential_profile_id: int
|
||||
selected_items: list[SnmpDiscoveryItemRead] = Field(min_length=1)
|
||||
interval_seconds: int = Field(default=60, ge=10)
|
||||
|
||||
|
||||
class SnmpDiscoveryRead(BaseModel):
|
||||
host: str
|
||||
credential_profile_id: int
|
||||
|
||||
Reference in New Issue
Block a user