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

    :param commodity_id: The commodity identifier
    :type commodity_id: int
    :param commodity_code: The commodity code
    :type commodity_code: str
    :param commodity_info: The commodity info
    :type commodity_info: str
    :param abbreviation: Three letter abbreviation code to represent the
     commodity
    :type abbreviation: str
    :param description: The commodity description
    :type description: str
    :param icon:
    :type icon: ~energycap.sdk.models.Icon
    :param commodity_category:
    :type commodity_category: ~energycap.sdk.models.CommodityCategory
    :param use_rollup_unit:
    :type use_rollup_unit: ~energycap.sdk.models.UnitChild
    :param demand_rollup_unit:
    :type demand_rollup_unit: ~energycap.sdk.models.UnitChild
    :param include_in_energy_reporting: Indicates if the commodity should be
     included in Energy reporting
    :type include_in_energy_reporting: bool
    :param energy_reporting_unit_conversion_multiplier: The multiplier to
     convert from the commodity rollup unit to the energy use reporting unit
    :type energy_reporting_unit_conversion_multiplier: float
    :param in_use: Indicates if the commodity is in use on a meter
    :type in_use: bool
    :param is_system_commodity: Indicates if the commodity is a system-level
     commodity
    :type is_system_commodity: bool
    """

    _attribute_map = {
        'commodity_id': {'key': 'commodityId', 'type': 'int'},
        'commodity_code': {'key': 'commodityCode', 'type': 'str'},
        'commodity_info': {'key': 'commodityInfo', 'type': 'str'},
        'abbreviation': {'key': 'abbreviation', 'type': 'str'},
        'description': {'key': 'description', 'type': 'str'},
        'icon': {'key': 'icon', 'type': 'Icon'},
        'commodity_category': {'key': 'commodityCategory', 'type': 'CommodityCategory'},
        'use_rollup_unit': {'key': 'useRollupUnit', 'type': 'UnitChild'},
        'demand_rollup_unit': {'key': 'demandRollupUnit', 'type': 'UnitChild'},
        'include_in_energy_reporting': {'key': 'includeInEnergyReporting', 'type': 'bool'},
        'energy_reporting_unit_conversion_multiplier': {'key': 'energyReportingUnitConversionMultiplier', 'type': 'float'},
        'in_use': {'key': 'inUse', 'type': 'bool'},
        'is_system_commodity': {'key': 'isSystemCommodity', 'type': 'bool'},
    }

    def __init__(self, **kwargs):
        super(CommodityResponse, self).__init__(**kwargs)
        self.commodity_id = kwargs.get('commodity_id', None)
        self.commodity_code = kwargs.get('commodity_code', None)
        self.commodity_info = kwargs.get('commodity_info', None)
        self.abbreviation = kwargs.get('abbreviation', None)
        self.description = kwargs.get('description', None)
        self.icon = kwargs.get('icon', None)
        self.commodity_category = kwargs.get('commodity_category', None)
        self.use_rollup_unit = kwargs.get('use_rollup_unit', None)
        self.demand_rollup_unit = kwargs.get('demand_rollup_unit', None)
        self.include_in_energy_reporting = kwargs.get('include_in_energy_reporting', None)
        self.energy_reporting_unit_conversion_multiplier = kwargs.get('energy_reporting_unit_conversion_multiplier', None)
        self.in_use = kwargs.get('in_use', None)
        self.is_system_commodity = kwargs.get('is_system_commodity', None)
