# 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 ChargeParamBptSEFix(BaseModel):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.

    ChargeParamBptSEFix - a model defined in OpenAPI

        evse_gen_mode: The evse_gen_mode of this ChargeParamBptSEFix [Optional].
        evse_min_discharge_current: The evse_min_discharge_current of this ChargeParamBptSEFix [Optional].
    """
    class Config:
        orm_mode = True

    evse_gen_mode: Optional[int] = Field(alias="EVSEGenMode", default=None)
    evse_min_discharge_current: Optional[int] = Field(alias="EVSEMinDischargeCurrent", default=None)

    @validator("evse_gen_mode")
    def evse_gen_mode_max(cls, value):
        assert value <= 2
        return value

    @validator("evse_gen_mode")
    def evse_gen_mode_min(cls, value):
        assert value >= 0
        return value

    @validator("evse_min_discharge_current")
    def evse_min_discharge_current_max(cls, value):
        assert value <= 16000
        return value

    @validator("evse_min_discharge_current")
    def evse_min_discharge_current_min(cls, value):
        assert value >= 0
        return value

ChargeParamBptSEFix.update_forward_refs()
