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

    :param billing_period: Billing Period (YYYYMM)
    :type billing_period: int
    :param month: Calendarized Month
    :type month: int
    :param year: Calendarized Year
    :type year: int
    :param current: Is this period within the last year
    :type current: bool
    :param account_id: Account ID
    :type account_id: int
    :param meter_id: Meter ID
    :type meter_id: int
    :param use_per_day: Use per day (native)
    :type use_per_day: float
    :param use_unit: Use unit name (native)
    :type use_unit: str
    :param cost_per_day: Cost per day
    :type cost_per_day: float
    :param unit_cost: Unit cost
    :type unit_cost: float
    :param cost_unit: Cost unit name
    :type cost_unit: str
    :param demand: Demand (native)
    :type demand: float
    :param demand_unit: Demand unit name (native)
    :type demand_unit: str
    :param actual_demand: Actual Demand (native)
    :type actual_demand: float
    :param actual_demand_unit: Actual Demand unit name (native)
    :type actual_demand_unit: str
    :param billed_demand: Billed Demand (native)
    :type billed_demand: float
    :param billed_demand_unit: Billed Demand unit name (native)
    :type billed_demand_unit: str
    """

    _attribute_map = {
        'billing_period': {'key': 'billingPeriod', 'type': 'int'},
        'month': {'key': 'month', 'type': 'int'},
        'year': {'key': 'year', 'type': 'int'},
        'current': {'key': 'current', 'type': 'bool'},
        'account_id': {'key': 'accountId', 'type': 'int'},
        'meter_id': {'key': 'meterId', 'type': 'int'},
        'use_per_day': {'key': 'usePerDay', 'type': 'float'},
        'use_unit': {'key': 'useUnit', 'type': 'str'},
        'cost_per_day': {'key': 'costPerDay', 'type': 'float'},
        'unit_cost': {'key': 'unitCost', 'type': 'float'},
        'cost_unit': {'key': 'costUnit', 'type': 'str'},
        'demand': {'key': 'demand', 'type': 'float'},
        'demand_unit': {'key': 'demandUnit', 'type': 'str'},
        'actual_demand': {'key': 'actualDemand', 'type': 'float'},
        'actual_demand_unit': {'key': 'actualDemandUnit', 'type': 'str'},
        'billed_demand': {'key': 'billedDemand', 'type': 'float'},
        'billed_demand_unit': {'key': 'billedDemandUnit', 'type': 'str'},
    }

    def __init__(self, *, billing_period: int=None, month: int=None, year: int=None, current: bool=None, account_id: int=None, meter_id: int=None, use_per_day: float=None, use_unit: str=None, cost_per_day: float=None, unit_cost: float=None, cost_unit: str=None, demand: float=None, demand_unit: str=None, actual_demand: float=None, actual_demand_unit: str=None, billed_demand: float=None, billed_demand_unit: str=None, **kwargs) -> None:
        super(BillCalendarizedHistory, self).__init__(**kwargs)
        self.billing_period = billing_period
        self.month = month
        self.year = year
        self.current = current
        self.account_id = account_id
        self.meter_id = meter_id
        self.use_per_day = use_per_day
        self.use_unit = use_unit
        self.cost_per_day = cost_per_day
        self.unit_cost = unit_cost
        self.cost_unit = cost_unit
        self.demand = demand
        self.demand_unit = demand_unit
        self.actual_demand = actual_demand
        self.actual_demand_unit = actual_demand_unit
        self.billed_demand = billed_demand
        self.billed_demand_unit = billed_demand_unit
