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

    :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_use:
    :type high_use: float
    :param low_use:
    :type low_use: float
    :param average_use:
    :type average_use: float
    :param median_use:
    :type median_use: float
    :param high_unit_cost:
    :type high_unit_cost: float
    :param low_unit_cost:
    :type low_unit_cost: float
    :param average_unit_cost:
    :type average_unit_cost: float
    :param median_unit_cost:
    :type median_unit_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 use_unit:
    :type use_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 high_savings_opportunity:
    :type high_savings_opportunity: float
    :param results:
    :type results: list[~energycap.sdk.models.MeterGroupDigestRankingChild]
    :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_use': {'key': 'highUse', 'type': 'float'},
        'low_use': {'key': 'lowUse', 'type': 'float'},
        'average_use': {'key': 'averageUse', 'type': 'float'},
        'median_use': {'key': 'medianUse', 'type': 'float'},
        'high_unit_cost': {'key': 'highUnitCost', 'type': 'float'},
        'low_unit_cost': {'key': 'lowUnitCost', 'type': 'float'},
        'average_unit_cost': {'key': 'averageUnitCost', 'type': 'float'},
        'median_unit_cost': {'key': 'medianUnitCost', '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'},
        'use_unit': {'key': 'useUnit', 'type': 'UnitChild'},
        'benchmark_unit': {'key': 'benchmarkUnit', 'type': 'str'},
        'benchmark_value_unit': {'key': 'benchmarkValueUnit', 'type': 'str'},
        'benchmark_factor_unit': {'key': 'benchmarkFactorUnit', 'type': 'str'},
        'high_savings_opportunity': {'key': 'highSavingsOpportunity', 'type': 'float'},
        'results': {'key': 'results', 'type': '[MeterGroupDigestRankingChild]'},
        '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, high_cost=None, low_cost=None, average_cost=None, median_cost=None, high_use=None, low_use=None, average_use=None, median_use=None, high_unit_cost=None, low_unit_cost=None, average_unit_cost=None, median_unit_cost=None, high_value=None, low_value=None, average_value=None, median_value=None, cost_unit=None, use_unit=None, benchmark_unit=None, benchmark_value_unit=None, benchmark_factor_unit=None, high_savings_opportunity=None, results=None, meter_group_id=None, meter_group_code=None, meter_group_info=None, meter_group_display=None, updated=None):
        super(MeterGroupDigestRankingResponse, self).__init__()
        self.high_cost = high_cost
        self.low_cost = low_cost
        self.average_cost = average_cost
        self.median_cost = median_cost
        self.high_use = high_use
        self.low_use = low_use
        self.average_use = average_use
        self.median_use = median_use
        self.high_unit_cost = high_unit_cost
        self.low_unit_cost = low_unit_cost
        self.average_unit_cost = average_unit_cost
        self.median_unit_cost = median_unit_cost
        self.high_value = high_value
        self.low_value = low_value
        self.average_value = average_value
        self.median_value = median_value
        self.cost_unit = cost_unit
        self.use_unit = use_unit
        self.benchmark_unit = benchmark_unit
        self.benchmark_value_unit = benchmark_value_unit
        self.benchmark_factor_unit = benchmark_factor_unit
        self.high_savings_opportunity = high_savings_opportunity
        self.results = results
        self.meter_group_id = meter_group_id
        self.meter_group_code = meter_group_code
        self.meter_group_info = meter_group_info
        self.meter_group_display = meter_group_display
        self.updated = updated
