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

    :param general_ledger_code: Unique identifier for the General Ledger <span
     class='property-internal'>Required</span> <span
     class='property-internal'>Must be between 0 and 255 characters</span>
    :type general_ledger_code: str
    :param sub_codes: List of 20 sub codes and their values <span
     class='property-internal'>Required</span>
    :type sub_codes: list[~energycap.sdk.models.GLSubCodeChildRequest]
    """

    _validation = {
        'general_ledger_code': {'required': True, 'max_length': 255, 'min_length': 0},
        'sub_codes': {'required': True},
    }

    _attribute_map = {
        'general_ledger_code': {'key': 'generalLedgerCode', 'type': 'str'},
        'sub_codes': {'key': 'subCodes', 'type': '[GLSubCodeChildRequest]'},
    }

    def __init__(self, general_ledger_code, sub_codes):
        super(GeneralLedgerRequest, self).__init__()
        self.general_ledger_code = general_ledger_code
        self.sub_codes = sub_codes
