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

    :param from_template: True means a "template" was used to generate the
     bodylines
     False means an existing bill was used to generate the bodylines
    :type from_template: bool
    :param meter_id: The meter identifier
    :type meter_id: int
    :param meter_code: The meter code
    :type meter_code: str
    :param meter_info: The meter name
    :type meter_info: str
    :param general_ledger_code: The meter gl code
    :type general_ledger_code: str
    :param body_lines: The bill's meter-level details
    :type body_lines: list[~energycap.sdk.models.BillEntryBodyLine]
    """

    _attribute_map = {
        'from_template': {'key': 'fromTemplate', 'type': 'bool'},
        'meter_id': {'key': 'meterId', 'type': 'int'},
        'meter_code': {'key': 'meterCode', 'type': 'str'},
        'meter_info': {'key': 'meterInfo', 'type': 'str'},
        'general_ledger_code': {'key': 'generalLedgerCode', 'type': 'str'},
        'body_lines': {'key': 'bodyLines', 'type': '[BillEntryBodyLine]'},
    }

    def __init__(self, **kwargs):
        super(BillEntryMeterChild, self).__init__(**kwargs)
        self.from_template = kwargs.get('from_template', None)
        self.meter_id = kwargs.get('meter_id', None)
        self.meter_code = kwargs.get('meter_code', None)
        self.meter_info = kwargs.get('meter_info', None)
        self.general_ledger_code = kwargs.get('general_ledger_code', None)
        self.body_lines = kwargs.get('body_lines', None)
