# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class PeriodRangeComparisonDetailed(Model):
    """PeriodRangeComparisonDetailed.

    :param data_details: The data details
    :type data_details: list[~energycap.sdk.models.PeriodComparison]
    :param current_period_range:
    :type current_period_range: ~energycap.sdk.models.PeriodRange
    :param previous_period_range:
    :type previous_period_range: ~energycap.sdk.models.PeriodRange
    :param current_value:
    :type current_value: ~energycap.sdk.models.ValueWithUnit
    :param previous_value:
    :type previous_value: ~energycap.sdk.models.ValueWithUnit
    """

    _attribute_map = {
        'data_details': {'key': 'dataDetails', 'type': '[PeriodComparison]'},
        'current_period_range': {'key': 'currentPeriodRange', 'type': 'PeriodRange'},
        'previous_period_range': {'key': 'previousPeriodRange', 'type': 'PeriodRange'},
        'current_value': {'key': 'currentValue', 'type': 'ValueWithUnit'},
        'previous_value': {'key': 'previousValue', 'type': 'ValueWithUnit'},
    }

    def __init__(self, *, data_details=None, current_period_range=None, previous_period_range=None, current_value=None, previous_value=None, **kwargs) -> None:
        super(PeriodRangeComparisonDetailed, self).__init__(**kwargs)
        self.data_details = data_details
        self.current_period_range = current_period_range
        self.previous_period_range = previous_period_range
        self.current_value = current_value
        self.previous_value = previous_value
