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

    :param account_id: Destination Account Id <span
     class='property-internal'>Required (defined)</span>
    :type account_id: int
    :param account_meter_ids: Destination AccountMeter Ids <span
     class='property-internal'>Required (defined)</span>
    :type account_meter_ids: list[int]
    :param update_account_gls: Use Account General Ledger from destination
     account? <span class='property-internal'>Required (defined)</span>
    :type update_account_gls: bool
    :param update_meter_gls: Use Meter General Ledger from destination meter?
     <span class='property-internal'>Required (defined)</span>
    :type update_meter_gls: bool
    """

    _attribute_map = {
        'account_id': {'key': 'accountId', 'type': 'int'},
        'account_meter_ids': {'key': 'accountMeterIds', 'type': '[int]'},
        'update_account_gls': {'key': 'updateAccountGLs', 'type': 'bool'},
        'update_meter_gls': {'key': 'updateMeterGLs', 'type': 'bool'},
    }

    def __init__(self, *, account_id: int=None, account_meter_ids=None, update_account_gls: bool=None, update_meter_gls: bool=None, **kwargs) -> None:
        super(BillActionMoveList, self).__init__(**kwargs)
        self.account_id = account_id
        self.account_meter_ids = account_meter_ids
        self.update_account_gls = update_account_gls
        self.update_meter_gls = update_meter_gls
