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

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

    :param notification_type_id: Required. The id of the notification type
     <span class='property-internal'>Required</span>
    :type notification_type_id: int
    :param configured_notification_option: Required. Update the configured
     notification option
     To get the list of available options for each setting call the
     GetNotificationSystemSettings or GetNotificationUserSettings API
     If your database is not configured to send emails, passing in
     ShowInAppAndSendEmail will return an error <span
     class='property-internal'>One of ShowInAppAndSendEmail, ShowInAppOnly, Off
     </span> <span class='property-internal'>Required</span>
    :type configured_notification_option: str
    """

    _validation = {
        'notification_type_id': {'required': True},
        'configured_notification_option': {'required': True},
    }

    _attribute_map = {
        'notification_type_id': {'key': 'notificationTypeId', 'type': 'int'},
        'configured_notification_option': {'key': 'configuredNotificationOption', 'type': 'str'},
    }

    def __init__(self, **kwargs):
        super(NotificationSettingRequest, self).__init__(**kwargs)
        self.notification_type_id = kwargs.get('notification_type_id', None)
        self.configured_notification_option = kwargs.get('configured_notification_option', None)
