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

    All required parameters must be populated in order to send to Azure.

    :param notification_ids: List of notification ids to perform the action on
     <span class='property-internal'>Cannot be Empty</span> <span
     class='property-internal'>Required (defined)</span>
    :type notification_ids: list[long]
    :param action: Required. Action to perform
     Unread marks all notifications in the list as unread
     Read marks all notifications in the list as read
     Archived marks all notifications in the list as archived
     Unarchived marks all notifications in the list as unarchived <span
     class='property-internal'>One of Read, Unread, Archived, Unarchived
     </span> <span class='property-internal'>Required</span>
    :type action: str
    """

    _validation = {
        'action': {'required': True},
    }

    _attribute_map = {
        'notification_ids': {'key': 'notificationIds', 'type': '[long]'},
        'action': {'key': 'action', 'type': 'str'},
    }

    def __init__(self, **kwargs):
        super(NotificationUpdateRequest, self).__init__(**kwargs)
        self.notification_ids = kwargs.get('notification_ids', None)
        self.action = kwargs.get('action', None)
