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

    :param line_item_descriptions: List of line item descriptions. Each
     description must be shorter than 32 characters.
     If SettingStatus is set to Skip and no value is provided, EnergyCAP
     default will be set <span class='property-internal'>Required when
     SettingStatus is set to Check, or Hold</span><span
     class='property-internal'>List cannot be empty</span>
    :type line_item_descriptions: list[str]
    :param setting_status: The status of the audit setting <span
     class='property-internal'>One of Check, Hold, Skip </span>
    :type setting_status: str
    :param setting_code: The setting code. Not used when updating settings.
    :type setting_code: str
    :param setting_description: A description of the setting. Not used when
     updating settings
    :type setting_description: str
    """

    _attribute_map = {
        'line_item_descriptions': {'key': 'lineItemDescriptions', 'type': '[str]'},
        'setting_status': {'key': 'settingStatus', 'type': 'str'},
        'setting_code': {'key': 'settingCode', 'type': 'str'},
        'setting_description': {'key': 'settingDescription', 'type': 'str'},
    }

    def __init__(self, line_item_descriptions=None, setting_status=None, setting_code=None, setting_description=None):
        super(BillContainsLineItemDescriptionsSetting, self).__init__()
        self.line_item_descriptions = line_item_descriptions
        self.setting_status = setting_status
        self.setting_code = setting_code
        self.setting_description = setting_description
