# 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_api_fast.models.charge_point_backends import ChargePointBackends
from ecp4_api_fast.models.charge_point_connections import ChargePointConnections
from ecp4_api_fast.models.license import License


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

    Do not edit the class manually.

    ChargePoint - a model defined in OpenAPI

        device_id: The device_id of this ChargePoint.
        device_type: The device_type of this ChargePoint.
        serial: The serial of this ChargePoint.
        image_version: The image_version of this ChargePoint.
        software_version: The software_version of this ChargePoint.
        msii_version: The msii_version of this ChargePoint.
        license: The license of this ChargePoint.
        connections: The connections of this ChargePoint.
        backends: The backends of this ChargePoint.
        system_uptime: The system_uptime of this ChargePoint [Optional].
        boot_time: The boot_time of this ChargePoint [Optional].
    """
    class Config:
        orm_mode = True

    device_id: str = Field(alias="deviceId")
    device_type: str = Field(alias="deviceType")
    serial: str = Field(alias="serial")
    image_version: str = Field(alias="imageVersion")
    software_version: str = Field(alias="softwareVersion")
    msii_version: str = Field(alias="msiiVersion")
    license: License = Field(alias="license")
    connections: ChargePointConnections = Field(alias="connections")
    backends: ChargePointBackends = Field(alias="backends")
    system_uptime: Optional[float] = Field(alias="systemUptime", default=None)
    boot_time: Optional[float] = Field(alias="bootTime", default=None)

ChargePoint.update_forward_refs()
