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

    :param batcc_native_use: The manually adjusted Baseline Adjusted to
     Current Conditions (BATCC) native use <span
     class='property-internal'>Required when locked is set to True</span>
    :type batcc_native_use: float
    :param batcc_cost: The manually adjusted Baseline Adjusted to Current
     Conditions (BATCC) cost <span class='property-internal'>Required when
     locked is set to True</span>
    :type batcc_cost: float
    :param bill_mtr_note: The manual adjustment note explaining the reason for
     the adjustment <span class='property-internal'>Required</span>
    :type bill_mtr_note: str
    :param locked: Indicates whether or not the values in a savings record are
     locked (this is not changed by future runs of the savings processor)
     Set to true when a manual adjustment is being created.
     Set to false when a manual adjustment is being removed.
     If locked is set to false, all other values are ignored and will be set by
     the savings processor. <span class='property-internal'>Required</span>
    :type locked: bool
    """

    _validation = {
        'bill_mtr_note': {'required': True},
        'locked': {'required': True},
    }

    _attribute_map = {
        'batcc_native_use': {'key': 'batccNativeUse', 'type': 'float'},
        'batcc_cost': {'key': 'batccCost', 'type': 'float'},
        'bill_mtr_note': {'key': 'billMtrNote', 'type': 'str'},
        'locked': {'key': 'locked', 'type': 'bool'},
    }

    def __init__(self, bill_mtr_note, locked, batcc_native_use=None, batcc_cost=None):
        super(ManualAdjustmentRequest, self).__init__()
        self.batcc_native_use = batcc_native_use
        self.batcc_cost = batcc_cost
        self.bill_mtr_note = bill_mtr_note
        self.locked = locked
