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

    :param ids: Ids of bills to be moved <span
     class='property-internal'>Cannot be Empty</span> <span
     class='property-internal'>Required (defined)</span>
    :type ids: list[int]
    :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 = {
        'ids': {'key': 'ids', 'type': '[int]'},
        '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, **kwargs):
        super(BillActionMove, self).__init__(**kwargs)
        self.ids = kwargs.get('ids', None)
        self.account_id = kwargs.get('account_id', None)
        self.account_meter_ids = kwargs.get('account_meter_ids', None)
        self.update_account_gls = kwargs.get('update_account_gls', None)
        self.update_meter_gls = kwargs.get('update_meter_gls', None)
