"""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