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

    :param percent_length_variance: Percent variance for bill length
     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 percent_length_variance: int
    :param setting_status: The status of the audit setting <span
     class='property-internal'>One of Check, Hold, Skip </span> <span
     class='property-internal'>Required (defined)</span>
    :type setting_status: str
    :param minimum_cost: Minimum Bill/Meter Cost.
     This audit will run only when the cost meets the specified minimum cost
     <span class='property-internal'>Required (defined)</span>
    :type minimum_cost: int
    :param assignees: List of Assignees.
     Ids of the users the flag should get assigned to when the audit fails.
     <span class='property-internal'>Required (defined)</span>
    :type assignees: list[int]
    """

    _attribute_map = {
        'percent_length_variance': {'key': 'percentLengthVariance', 'type': 'int'},
        'setting_status': {'key': 'settingStatus', 'type': 'str'},
        'minimum_cost': {'key': 'minimumCost', 'type': 'int'},
        'assignees': {'key': 'assignees', 'type': '[int]'},
    }

    def __init__(self, **kwargs):
        super(BillSignificantlyShorterOrLongerThanPreviousSettingRequest, self).__init__(**kwargs)
        self.percent_length_variance = kwargs.get('percent_length_variance', None)
        self.setting_status = kwargs.get('setting_status', None)
        self.minimum_cost = kwargs.get('minimum_cost', None)
        self.assignees = kwargs.get('assignees', None)
