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

    :param report_distribution_id: The id of the report distribution
    :type report_distribution_id: int
    :param report_distribution_name: The name of the report distribution
    :type report_distribution_name: str
    :param created_by_user:
    :type created_by_user: ~energycap.sdk.models.UserChild
    :param created_date: The date and time the report distribution was created
    :type created_date: datetime
    :param modified_by_user:
    :type modified_by_user: ~energycap.sdk.models.UserChild
    :param modified_date: The date and time of the most recent modification
    :type modified_date: datetime
    :param last_run_date: Last time the report distribution was run
    :type last_run_date: datetime
    :param next_run_date: Next time the report distribution will run
    :type next_run_date: datetime
    :param enabled: Indicates if the report distribution is currently enabled
    :type enabled: bool
    :param specific_report_id: The id of the report being distributed
    :type specific_report_id: int
    :param base_report:
    :type base_report: ~energycap.sdk.models.ReportChild
    :param email_settings:
    :type email_settings:
     ~energycap.sdk.models.ReportDistributionEmailSettings
    """

    _attribute_map = {
        'report_distribution_id': {'key': 'reportDistributionId', 'type': 'int'},
        'report_distribution_name': {'key': 'reportDistributionName', 'type': 'str'},
        'created_by_user': {'key': 'createdByUser', 'type': 'UserChild'},
        'created_date': {'key': 'createdDate', 'type': 'iso-8601'},
        'modified_by_user': {'key': 'modifiedByUser', 'type': 'UserChild'},
        'modified_date': {'key': 'modifiedDate', 'type': 'iso-8601'},
        'last_run_date': {'key': 'lastRunDate', 'type': 'iso-8601'},
        'next_run_date': {'key': 'nextRunDate', 'type': 'iso-8601'},
        'enabled': {'key': 'enabled', 'type': 'bool'},
        'specific_report_id': {'key': 'specificReportId', 'type': 'int'},
        'base_report': {'key': 'baseReport', 'type': 'ReportChild'},
        'email_settings': {'key': 'emailSettings', 'type': 'ReportDistributionEmailSettings'},
    }

    def __init__(self, *, report_distribution_id: int=None, report_distribution_name: str=None, created_by_user=None, created_date=None, modified_by_user=None, modified_date=None, last_run_date=None, next_run_date=None, enabled: bool=None, specific_report_id: int=None, base_report=None, email_settings=None, **kwargs) -> None:
        super(ReportDistributionDetailsResponse, self).__init__(**kwargs)
        self.report_distribution_id = report_distribution_id
        self.report_distribution_name = report_distribution_name
        self.created_by_user = created_by_user
        self.created_date = created_date
        self.modified_by_user = modified_by_user
        self.modified_date = modified_date
        self.last_run_date = last_run_date
        self.next_run_date = next_run_date
        self.enabled = enabled
        self.specific_report_id = specific_report_id
        self.base_report = base_report
        self.email_settings = email_settings
