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

    :param reply_to_email: The email address the receiver should reply to
    :type reply_to_email: str
    :param recipient_user_groups: The list of user groups that should receive
     the report
    :type recipient_user_groups: list[~energycap.sdk.models.UserGroupChild]
    :param email_subject: The subject line of the email
    :type email_subject: str
    :param email_message: The body of the email
    :type email_message: str
    :param report_format: Format of the report (EnergyCAP currently supports
     PDF, Word, Excel, and CSV)
    :type report_format: str
    :param schedule_type:
    :type schedule_type:
     ~energycap.sdk.models.ReportSubscriptionScheduleTypeChild
    :param day_indicator:
    :type day_indicator:
     ~energycap.sdk.models.ReportSubscriptionDayIndicatorChild
    :param only_send_if_data: Indicates whether or not to email a report if it
     contains no data.
     When set to true, the subscribed report will not be emailed, if the report
     does not contain data.
     When set to false, if the requested report has no data, it will still be
     sent.
    :type only_send_if_data: bool
    """

    _attribute_map = {
        'reply_to_email': {'key': 'replyToEmail', 'type': 'str'},
        'recipient_user_groups': {'key': 'recipientUserGroups', 'type': '[UserGroupChild]'},
        'email_subject': {'key': 'emailSubject', 'type': 'str'},
        'email_message': {'key': 'emailMessage', 'type': 'str'},
        'report_format': {'key': 'reportFormat', 'type': 'str'},
        'schedule_type': {'key': 'scheduleType', 'type': 'ReportSubscriptionScheduleTypeChild'},
        'day_indicator': {'key': 'dayIndicator', 'type': 'ReportSubscriptionDayIndicatorChild'},
        'only_send_if_data': {'key': 'onlySendIfData', 'type': 'bool'},
    }

    def __init__(self, *, reply_to_email: str=None, recipient_user_groups=None, email_subject: str=None, email_message: str=None, report_format: str=None, schedule_type=None, day_indicator=None, only_send_if_data: bool=None, **kwargs) -> None:
        super(ReportDistributionEmailSettings, self).__init__(**kwargs)
        self.reply_to_email = reply_to_email
        self.recipient_user_groups = recipient_user_groups
        self.email_subject = email_subject
        self.email_message = email_message
        self.report_format = report_format
        self.schedule_type = schedule_type
        self.day_indicator = day_indicator
        self.only_send_if_data = only_send_if_data
