2026-01-25 18:01:48 +01:00

38 lines
798 B
Python

"""Device schemas"""
from pydantic import BaseModel, IPvAnyAddress
from datetime import datetime
from typing import Optional
from app.models.device import DeviceOSType
class DeviceBase(BaseModel):
"""Base device schema"""
hostname: str
ip_address: str
os_type: DeviceOSType = DeviceOSType.IOS
model: Optional[str] = None
ssh_username: Optional[str] = None
ssh_port: int = 22
is_active: bool = True
class DeviceCreate(DeviceBase):
"""Device creation schema"""
project_id: int
class DeviceUpdate(DeviceBase):
"""Device update schema"""
pass
class DeviceResponse(DeviceBase):
"""Device response schema"""
id: int
project_id: int
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True