# 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
from ecp4_msi_api_fast.models.adc import Adc
from ecp4_msi_api_fast.models.can import Can
from ecp4_msi_api_fast.models.fan import Fan
from ecp4_msi_api_fast.models.plug import Plug
from ecp4_msi_api_fast.models.ui import Ui


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

    Do not edit the class manually.

    Msi - a model defined in OpenAPI

        can_id: The can_id of this Msi [Optional].
        firmware_version: The firmware_version of this Msi [Optional].
        adc: The adc of this Msi [Optional].
        can: The can of this Msi [Optional].
        fan: The fan of this Msi [Optional].
        plug: The plug of this Msi [Optional].
        ui: The ui of this Msi [Optional].
    """
    class Config:
        orm_mode = True

    can_id: Optional[str] = Field(alias="canId", default=None)
    firmware_version: Optional[str] = Field(alias="firmwareVersion", default=None)
    adc: Optional[Adc] = Field(alias="adc", default=None)
    can: Optional[Can] = Field(alias="can", default=None)
    fan: Optional[Fan] = Field(alias="fan", default=None)
    plug: Optional[Plug] = Field(alias="plug", default=None)
    ui: Optional[Ui] = Field(alias="ui", default=None)

Msi.update_forward_refs()
