# 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.can_transmission_control import CanTransmissionControl
from ecp4_msi_api_fast.models.dc_relays_control import DcRelaysControl
from ecp4_msi_api_fast.models.duty_cycle import DutyCycle
from ecp4_msi_api_fast.models.insulation_measurement_control import InsulationMeasurementControl
from ecp4_msi_api_fast.models.power_unit_control import PowerUnitControl
from ecp4_msi_api_fast.models.temperature_sensor_scale import TemperatureSensorScale


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

    Do not edit the class manually.

    CcsControl - a model defined in OpenAPI

        dc_relays: The dc_relays of this CcsControl [Optional].
        insulation_measurement: The insulation_measurement of this CcsControl [Optional].
        aux_output_relay: The aux_output_relay of this CcsControl [Optional].
        can_transmission: The can_transmission of this CcsControl [Optional].
        power_unit: The power_unit of this CcsControl [Optional].
        dc_relay_stack_c: The dc_relay_stack_c of this CcsControl [Optional].
        dc_relay_stack_d: The dc_relay_stack_d of this CcsControl [Optional].
        dc_relay_stack_e: The dc_relay_stack_e of this CcsControl [Optional].
        dc_relay_stack_f: The dc_relay_stack_f of this CcsControl [Optional].
        duty_cycle: The duty_cycle of this CcsControl [Optional].
        temperature_sensor_scale: The temperature_sensor_scale of this CcsControl [Optional].
        simulation: The simulation of this CcsControl [Optional].
    """
    class Config:
        orm_mode = True

    dc_relays: Optional[DcRelaysControl] = Field(alias="dcRelays", default=None)
    insulation_measurement: Optional[InsulationMeasurementControl] = Field(alias="insulationMeasurement", default=None)
    aux_output_relay: Optional[bool] = Field(alias="auxOutputRelay", default=None)
    can_transmission: Optional[CanTransmissionControl] = Field(alias="canTransmission", default=None)
    power_unit: Optional[PowerUnitControl] = Field(alias="powerUnit", default=None)
    dc_relay_stack_c: Optional[bool] = Field(alias="dcRelayStackC", default=None)
    dc_relay_stack_d: Optional[bool] = Field(alias="dcRelayStackD", default=None)
    dc_relay_stack_e: Optional[bool] = Field(alias="dcRelayStackE", default=None)
    dc_relay_stack_f: Optional[bool] = Field(alias="dcRelayStackF", default=None)
    duty_cycle: Optional[DutyCycle] = Field(alias="dutyCycle", default=None)
    temperature_sensor_scale: Optional[TemperatureSensorScale] = Field(alias="temperatureSensorScale", default=None)
    simulation: Optional[bool] = Field(alias="simulation", default=None)

CcsControl.update_forward_refs()
