"""
models.py — Shared data classes for ES24N IOM configuration.
Used by both the serial and network configuration workflows.
"""

from dataclasses import dataclass, field


@dataclass
class IOMConfig:
    iom:     str
    dhcp:    bool = True
    ip:      str  = ""
    gateway: str  = ""
    netmask: str  = ""


@dataclass
class ShelfConfig:
    device:   str = ""
    password: str = ""
    iom1: IOMConfig = field(default_factory=lambda: IOMConfig("IOM1"))
    iom2: IOMConfig = field(default_factory=lambda: IOMConfig("IOM2"))
