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

    :param account_id: The bill-account-meter's account id
    :type account_id: int
    :param meter_id: The bill-account-meter's meter id
    :type meter_id: int
    :param native_use: The bill-account-meter's native use
    :type native_use: float
    :param native_use_unit:
    :type native_use_unit: ~energycap.sdk.models.UnitChild
    :param direct_cost: The bill-account-meter's direct cost
    :type direct_cost: float
    :param direct_cost_unit:
    :type direct_cost_unit: ~energycap.sdk.models.UnitChild
    :param native_use_unit_cost: The bill-account-meter's native use unit cost
    :type native_use_unit_cost: float
    :param native_use_per_day: The bill-account-meter's native use per day
    :type native_use_per_day: float
    :param direct_cost_per_day: The bill-account-meter's direct cost per day
    :type direct_cost_per_day: float
    :param native_billed_demand: The bill-account-meter's native billed demand
    :type native_billed_demand: float
    :param native_billed_demand_unit:
    :type native_billed_demand_unit: ~energycap.sdk.models.UnitChild
    :param native_actual_demand: The bill-account-meter's native actual demand
    :type native_actual_demand: float
    :param native_actual_demand_unit:
    :type native_actual_demand_unit: ~energycap.sdk.models.UnitChild
    """

    _attribute_map = {
        'account_id': {'key': 'accountId', 'type': 'int'},
        'meter_id': {'key': 'meterId', 'type': 'int'},
        'native_use': {'key': 'nativeUse', 'type': 'float'},
        'native_use_unit': {'key': 'nativeUseUnit', 'type': 'UnitChild'},
        'direct_cost': {'key': 'directCost', 'type': 'float'},
        'direct_cost_unit': {'key': 'directCostUnit', 'type': 'UnitChild'},
        'native_use_unit_cost': {'key': 'nativeUseUnitCost', 'type': 'float'},
        'native_use_per_day': {'key': 'nativeUsePerDay', 'type': 'float'},
        'direct_cost_per_day': {'key': 'directCostPerDay', 'type': 'float'},
        'native_billed_demand': {'key': 'nativeBilledDemand', 'type': 'float'},
        'native_billed_demand_unit': {'key': 'nativeBilledDemandUnit', 'type': 'UnitChild'},
        'native_actual_demand': {'key': 'nativeActualDemand', 'type': 'float'},
        'native_actual_demand_unit': {'key': 'nativeActualDemandUnit', 'type': 'UnitChild'},
    }

    def __init__(self, **kwargs):
        super(BillAccountMeterChild, self).__init__(**kwargs)
        self.account_id = kwargs.get('account_id', None)
        self.meter_id = kwargs.get('meter_id', None)
        self.native_use = kwargs.get('native_use', None)
        self.native_use_unit = kwargs.get('native_use_unit', None)
        self.direct_cost = kwargs.get('direct_cost', None)
        self.direct_cost_unit = kwargs.get('direct_cost_unit', None)
        self.native_use_unit_cost = kwargs.get('native_use_unit_cost', None)
        self.native_use_per_day = kwargs.get('native_use_per_day', None)
        self.direct_cost_per_day = kwargs.get('direct_cost_per_day', None)
        self.native_billed_demand = kwargs.get('native_billed_demand', None)
        self.native_billed_demand_unit = kwargs.get('native_billed_demand_unit', None)
        self.native_actual_demand = kwargs.get('native_actual_demand', None)
        self.native_actual_demand_unit = kwargs.get('native_actual_demand_unit', None)
