# 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 MeterGroupDigestDemandRankingResponse(Model):
    """MeterGroupDigestDemandRankingResponse.

    :param high_cost:
    :type high_cost: float
    :param low_cost:
    :type low_cost: float
    :param average_cost:
    :type average_cost: float
    :param median_cost:
    :type median_cost: float
    :param high_value:
    :type high_value: float
    :param low_value:
    :type low_value: float
    :param average_value:
    :type average_value: float
    :param median_value:
    :type median_value: float
    :param cost_unit:
    :type cost_unit: ~energycap.sdk.models.UnitChild
    :param benchmark_unit:
    :type benchmark_unit: str
    :param benchmark_value_unit:
    :type benchmark_value_unit: str
    :param benchmark_factor_unit:
    :type benchmark_factor_unit: str
    :param results:
    :type results:
     list[~energycap.sdk.models.MeterGroupDigestDemandRankingChild]
    :param meter_group_id:
    :type meter_group_id: int
    :param meter_group_code:
    :type meter_group_code: str
    :param meter_group_info:
    :type meter_group_info: str
    :param meter_group_display:
    :type meter_group_display: str
    :param updated: The date and time the data was updated
    :type updated: datetime
    """

    _attribute_map = {
        'high_cost': {'key': 'highCost', 'type': 'float'},
        'low_cost': {'key': 'lowCost', 'type': 'float'},
        'average_cost': {'key': 'averageCost', 'type': 'float'},
        'median_cost': {'key': 'medianCost', 'type': 'float'},
        'high_value': {'key': 'highValue', 'type': 'float'},
        'low_value': {'key': 'lowValue', 'type': 'float'},
        'average_value': {'key': 'averageValue', 'type': 'float'},
        'median_value': {'key': 'medianValue', 'type': 'float'},
        'cost_unit': {'key': 'costUnit', 'type': 'UnitChild'},
        'benchmark_unit': {'key': 'benchmarkUnit', 'type': 'str'},
        'benchmark_value_unit': {'key': 'benchmarkValueUnit', 'type': 'str'},
        'benchmark_factor_unit': {'key': 'benchmarkFactorUnit', 'type': 'str'},
        'results': {'key': 'results', 'type': '[MeterGroupDigestDemandRankingChild]'},
        'meter_group_id': {'key': 'meterGroupId', 'type': 'int'},
        'meter_group_code': {'key': 'meterGroupCode', 'type': 'str'},
        'meter_group_info': {'key': 'meterGroupInfo', 'type': 'str'},
        'meter_group_display': {'key': 'meterGroupDisplay', 'type': 'str'},
        'updated': {'key': 'updated', 'type': 'iso-8601'},
    }

    def __init__(self, **kwargs):
        super(MeterGroupDigestDemandRankingResponse, self).__init__(**kwargs)
        self.high_cost = kwargs.get('high_cost', None)
        self.low_cost = kwargs.get('low_cost', None)
        self.average_cost = kwargs.get('average_cost', None)
        self.median_cost = kwargs.get('median_cost', None)
        self.high_value = kwargs.get('high_value', None)
        self.low_value = kwargs.get('low_value', None)
        self.average_value = kwargs.get('average_value', None)
        self.median_value = kwargs.get('median_value', None)
        self.cost_unit = kwargs.get('cost_unit', None)
        self.benchmark_unit = kwargs.get('benchmark_unit', None)
        self.benchmark_value_unit = kwargs.get('benchmark_value_unit', None)
        self.benchmark_factor_unit = kwargs.get('benchmark_factor_unit', None)
        self.results = kwargs.get('results', None)
        self.meter_group_id = kwargs.get('meter_group_id', None)
        self.meter_group_code = kwargs.get('meter_group_code', None)
        self.meter_group_info = kwargs.get('meter_group_info', None)
        self.meter_group_display = kwargs.get('meter_group_display', None)
        self.updated = kwargs.get('updated', None)
