# 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 powersource_api_fast.models.module_temperature_data import ModuleTemperatureData


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

    Do not edit the class manually.

    PowerUnitApiData - a model defined in OpenAPI

        is_ready: The is_ready of this PowerUnitApiData [Optional].
        max_power: The max_power of this PowerUnitApiData [Optional].
        available_power: The available_power of this PowerUnitApiData [Optional].
        max_current: The max_current of this PowerUnitApiData [Optional].
        min_voltage: The min_voltage of this PowerUnitApiData [Optional].
        max_voltage: The max_voltage of this PowerUnitApiData [Optional].
        output_current: The output_current of this PowerUnitApiData [Optional].
        output_voltage: The output_voltage of this PowerUnitApiData [Optional].
        current_ac_phase1: The current_ac_phase1 of this PowerUnitApiData [Optional].
        current_ac_phase2: The current_ac_phase2 of this PowerUnitApiData [Optional].
        current_ac_phase3: The current_ac_phase3 of this PowerUnitApiData [Optional].
        module_errors: The module_errors of this PowerUnitApiData [Optional].
        module_temperatures: The module_temperatures of this PowerUnitApiData [Optional].
        module_dc_voltages: The module_dc_voltages of this PowerUnitApiData [Optional].
        module_dc_currents: The module_dc_currents of this PowerUnitApiData [Optional].
        module_serials: The module_serials of this PowerUnitApiData [Optional].
    """
    class Config:
        orm_mode = True

    is_ready: Optional[bool] = Field(alias="is_ready", default=None)
    max_power: Optional[float] = Field(alias="max_power", default=None)
    available_power: Optional[float] = Field(alias="available_power", default=None)
    max_current: Optional[float] = Field(alias="max_current", default=None)
    min_voltage: Optional[float] = Field(alias="min_voltage", default=None)
    max_voltage: Optional[float] = Field(alias="max_voltage", default=None)
    output_current: Optional[float] = Field(alias="output_current", default=None)
    output_voltage: Optional[float] = Field(alias="output_voltage", default=None)
    current_ac_phase1: Optional[float] = Field(alias="current_ac_phase1", default=None)
    current_ac_phase2: Optional[float] = Field(alias="current_ac_phase2", default=None)
    current_ac_phase3: Optional[float] = Field(alias="current_ac_phase3", default=None)
    module_errors: Optional[List[str]] = Field(alias="module_errors", default=None)
    module_temperatures: Optional[List[ModuleTemperatureData]] = Field(alias="module_temperatures", default=None)
    module_dc_voltages: Optional[List[float]] = Field(alias="module_dc_voltages", default=None)
    module_dc_currents: Optional[List[float]] = Field(alias="module_dc_currents", default=None)
    module_serials: Optional[List[str]] = Field(alias="module_serials", default=None)

PowerUnitApiData.update_forward_refs()
