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

    :param billing_period: The billing period that the data represents.
     Will be the current billing period, the same year prior billing period,
     or the same period prior year billing period.
    :type billing_period: int
    :param number_of_bills_in_period: The number of bills in the current
     billing period.
    :type number_of_bills_in_period: int
    :param number_of_bills_in_period_from_workflow_step: The number of bills
     in the current billing period that were generated by this workflow step.
    :type number_of_bills_in_period_from_workflow_step: int
    :param use:
    :type use: ~energycap.sdk.models.BillingPeriodUseUnitChild
    :param cost:
    :type cost: ~energycap.sdk.models.BillingPeriodCostUnitChild
    :param unit_cost: The unit cost for the specified billing period.
    :type unit_cost: float
    """

    _attribute_map = {
        'billing_period': {'key': 'billingPeriod', 'type': 'int'},
        'number_of_bills_in_period': {'key': 'numberOfBillsInPeriod', 'type': 'int'},
        'number_of_bills_in_period_from_workflow_step': {'key': 'numberOfBillsInPeriodFromWorkflowStep', 'type': 'int'},
        'use': {'key': 'use', 'type': 'BillingPeriodUseUnitChild'},
        'cost': {'key': 'cost', 'type': 'BillingPeriodCostUnitChild'},
        'unit_cost': {'key': 'unitCost', 'type': 'float'},
    }

    def __init__(self, *, billing_period: int=None, number_of_bills_in_period: int=None, number_of_bills_in_period_from_workflow_step: int=None, use=None, cost=None, unit_cost: float=None, **kwargs) -> None:
        super(BillingPeriodUseCostChild, self).__init__(**kwargs)
        self.billing_period = billing_period
        self.number_of_bills_in_period = number_of_bills_in_period
        self.number_of_bills_in_period_from_workflow_step = number_of_bills_in_period_from_workflow_step
        self.use = use
        self.cost = cost
        self.unit_cost = unit_cost
