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

    :param message:  <span class='property-internal'>Required</span> <span
     class='property-internal'>Must be between 0 and 255 characters</span>
    :type message: str
    :param alert_severity_info:  <span
     class='property-internal'>Required</span>
    :type alert_severity_info: str
    :param message_type:  <span class='property-internal'>Must be between 0
     and 2 characters</span>
    :type message_type: str
    :param alert_status_info:  <span class='property-internal'>Required</span>
     <span class='property-internal'>One of problem, fixed, ignored </span>
    :type alert_status_info: str
    :param comment:  <span class='property-internal'>Must be between 0 and 255
     characters</span>
    :type comment: str
    """

    _validation = {
        'message': {'required': True, 'max_length': 255, 'min_length': 0},
        'alert_severity_info': {'required': True},
        'message_type': {'max_length': 2, 'min_length': 0},
        'alert_status_info': {'required': True},
        'comment': {'max_length': 255, 'min_length': 0},
    }

    _attribute_map = {
        'message': {'key': 'message', 'type': 'str'},
        'alert_severity_info': {'key': 'alertSeverityInfo', 'type': 'str'},
        'message_type': {'key': 'messageType', 'type': 'str'},
        'alert_status_info': {'key': 'alertStatusInfo', 'type': 'str'},
        'comment': {'key': 'comment', 'type': 'str'},
    }

    def __init__(self, message, alert_severity_info, alert_status_info, message_type=None, comment=None):
        super(BillAlertRequest, self).__init__()
        self.message = message
        self.alert_severity_info = alert_severity_info
        self.message_type = message_type
        self.alert_status_info = alert_status_info
        self.comment = comment
