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

    :param specific_report_id: Unique identifier for the report
    :type specific_report_id: int
    :param base_report:
    :type base_report: ~energycap.sdk.models.ReportChild
    :param specific_report_code: Report code
    :type specific_report_code: str
    :param specific_report_info: Report name
    :type specific_report_info: str
    :param last_viewed: Last time this report was run
    :type last_viewed: datetime
    :param recommended: Indicates if this is a recommended report
    :type recommended: bool
    :param report_category:
    :type report_category: ~energycap.sdk.models.ReportCategoryChild
    :param description: The report description
    :type description: str
    :param visible: Indicates if this report is visible to the current user
    :type visible: bool
    :param shared: Indicates if this report is shared
    :type shared: bool
    :param user:
    :type user: ~energycap.sdk.models.UserChild
    :param subscription:
    :type subscription: ~energycap.sdk.models.ReportSubscriptionChild
    """

    _attribute_map = {
        'specific_report_id': {'key': 'specificReportId', 'type': 'int'},
        'base_report': {'key': 'baseReport', 'type': 'ReportChild'},
        'specific_report_code': {'key': 'specificReportCode', 'type': 'str'},
        'specific_report_info': {'key': 'specificReportInfo', 'type': 'str'},
        'last_viewed': {'key': 'lastViewed', 'type': 'iso-8601'},
        'recommended': {'key': 'recommended', 'type': 'bool'},
        'report_category': {'key': 'reportCategory', 'type': 'ReportCategoryChild'},
        'description': {'key': 'description', 'type': 'str'},
        'visible': {'key': 'visible', 'type': 'bool'},
        'shared': {'key': 'shared', 'type': 'bool'},
        'user': {'key': 'user', 'type': 'UserChild'},
        'subscription': {'key': 'subscription', 'type': 'ReportSubscriptionChild'},
    }

    def __init__(self, specific_report_id=None, base_report=None, specific_report_code=None, specific_report_info=None, last_viewed=None, recommended=None, report_category=None, description=None, visible=None, shared=None, user=None, subscription=None):
        super(SpecificReportResponse, self).__init__()
        self.specific_report_id = specific_report_id
        self.base_report = base_report
        self.specific_report_code = specific_report_code
        self.specific_report_info = specific_report_info
        self.last_viewed = last_viewed
        self.recommended = recommended
        self.report_category = report_category
        self.description = description
        self.visible = visible
        self.shared = shared
        self.user = user
        self.subscription = subscription
