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

    :param bill_id:
    :type bill_id: int
    :param alert_id:
    :type alert_id: int
    :param message:
    :type message: str
    :param specific_audit:
    :type specific_audit: ~energycap.sdk.models.SpecificAuditWithAuditGroup
    :param alert_severity:
    :type alert_severity: ~energycap.sdk.models.AlertSeverityResponse
    :param message_type:
    :type message_type: str
    :param alert_status:
    :type alert_status: ~energycap.sdk.models.AlertStatusResponse
    :param comment:
    :type comment: str
    :param variance:
    :type variance: float
    :param created_date:
    :type created_date: datetime
    :param created_by:
    :type created_by: ~energycap.sdk.models.UserChild
    :param modified_date:
    :type modified_date: datetime
    :param modified_by:
    :type modified_by: ~energycap.sdk.models.UserChild
    """

    _attribute_map = {
        'bill_id': {'key': 'billId', 'type': 'int'},
        'alert_id': {'key': 'alertId', 'type': 'int'},
        'message': {'key': 'message', 'type': 'str'},
        'specific_audit': {'key': 'specificAudit', 'type': 'SpecificAuditWithAuditGroup'},
        'alert_severity': {'key': 'alertSeverity', 'type': 'AlertSeverityResponse'},
        'message_type': {'key': 'messageType', 'type': 'str'},
        'alert_status': {'key': 'alertStatus', 'type': 'AlertStatusResponse'},
        'comment': {'key': 'comment', 'type': 'str'},
        'variance': {'key': 'variance', 'type': 'float'},
        'created_date': {'key': 'createdDate', 'type': 'iso-8601'},
        'created_by': {'key': 'createdBy', 'type': 'UserChild'},
        'modified_date': {'key': 'modifiedDate', 'type': 'iso-8601'},
        'modified_by': {'key': 'modifiedBy', 'type': 'UserChild'},
    }

    def __init__(self, bill_id=None, alert_id=None, message=None, specific_audit=None, alert_severity=None, message_type=None, alert_status=None, comment=None, variance=None, created_date=None, created_by=None, modified_date=None, modified_by=None):
        super(BillAlertResponse, self).__init__()
        self.bill_id = bill_id
        self.alert_id = alert_id
        self.message = message
        self.specific_audit = specific_audit
        self.alert_severity = alert_severity
        self.message_type = message_type
        self.alert_status = alert_status
        self.comment = comment
        self.variance = variance
        self.created_date = created_date
        self.created_by = created_by
        self.modified_date = modified_date
        self.modified_by = modified_by
