# 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.ccs import Ccs
from ecp4_msi_api_fast.models.chademo import Chademo
from ecp4_msi_api_fast.models.dc_relays import DcRelays
from ecp4_msi_api_fast.models.insulation_measurement import InsulationMeasurement
from ecp4_msi_api_fast.models.over_current_protection import OverCurrentProtection


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

    Do not edit the class manually.

    Plug - a model defined in OpenAPI

        emergency_stop: The emergency_stop of this Plug [Optional].
        measured_hv_voltage: The measured_hv_voltage of this Plug [Optional].
        over_current_protection: The over_current_protection of this Plug [Optional].
        dc_relays: The dc_relays of this Plug [Optional].
        insulation_measurement: The insulation_measurement of this Plug [Optional].
        ccs: The ccs of this Plug [Optional].
        chademo: The chademo of this Plug [Optional].
    """
    class Config:
        orm_mode = True

    emergency_stop: Optional[bool] = Field(alias="emergencyStop", default=None)
    measured_hv_voltage: Optional[int] = Field(alias="measuredHvVoltage", default=None)
    over_current_protection: Optional[OverCurrentProtection] = Field(alias="overCurrentProtection", default=None)
    dc_relays: Optional[DcRelays] = Field(alias="dcRelays", default=None)
    insulation_measurement: Optional[InsulationMeasurement] = Field(alias="insulationMeasurement", default=None)
    ccs: Optional[Ccs] = Field(alias="ccs", default=None)
    chademo: Optional[Chademo] = Field(alias="chademo", default=None)

Plug.update_forward_refs()
