# coding: utf-8

from __future__ import annotations
from datetime import date, datetime  # noqa: F401

import re  # noqa: F401
from typing import Any, Dict, List, Optional  # noqa: F401

from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator  # noqa: F401


class QCADevice(BaseModel):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.

    QCADevice - a model defined in OpenAPI

        plug: The plug of this QCADevice.
        address: The address of this QCADevice.
        interface: The interface of this QCADevice.
    """
    class Config:
        orm_mode = True

    plug: str = Field(alias="plug")
    address: str = Field(alias="address")
    interface: str = Field(alias="interface")

    @validator("address")
    def address_pattern(cls, value):
        assert value is not None and re.match(r"^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$", value)
        return value

QCADevice.update_forward_refs()
