"""Shared choices for the different models."""

from pydantic import ConstrainedInt
from pydantic_forms.types import strEnum


class Vendor(strEnum):
    """Enumerator for the different product vendors that are supported."""

    JUNIPER = "juniper"
    NOKIA = "nokia"


class PortNumber(ConstrainedInt):
    """Constrained integer for valid port numbers.

    The range from 49152 to 65535 is marked as ephemeral, and can therefore not be selected for permanent allocation.
    """

    gt = 0
    le = 49151