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

    :param version: The version of the report
    :type version: str
    :param report_id: The identifier of the report
    :type report_id: int
    :param report_code: The report code
    :type report_code: str
    :param report_info: The report name
    :type report_info: str
    :param report_type:
    :type report_type: ~energycap.sdk.models.ReportType
    :param description: The report description
    :type description: str
    :param is_landscape: Indicates whether or not the report is rendered in
     landscape
    :type is_landscape: bool
    :param last_updated: The last time this report was updated
    :type last_updated: datetime
    :param tags: Tags describing features of the report
    :type tags: list[~energycap.sdk.models.TagChild]
    :param export_formats: Supported export formats (EnergyCAP currently
     supports PDF, Word, Excel, Excel data only, Excel formatted, and CSV)
    :type export_formats: list[~energycap.sdk.models.ExportFormatChild]
    :param report_source: The rendering engine used for the report (EnergyCAP
     currently uses SSRS and Crystal)
    :type report_source: str
    """

    _attribute_map = {
        'version': {'key': 'version', 'type': 'str'},
        'report_id': {'key': 'reportId', 'type': 'int'},
        'report_code': {'key': 'reportCode', 'type': 'str'},
        'report_info': {'key': 'reportInfo', 'type': 'str'},
        'report_type': {'key': 'reportType', 'type': 'ReportType'},
        'description': {'key': 'description', 'type': 'str'},
        'is_landscape': {'key': 'isLandscape', 'type': 'bool'},
        'last_updated': {'key': 'lastUpdated', 'type': 'iso-8601'},
        'tags': {'key': 'tags', 'type': '[TagChild]'},
        'export_formats': {'key': 'exportFormats', 'type': '[ExportFormatChild]'},
        'report_source': {'key': 'reportSource', 'type': 'str'},
    }

    def __init__(self, **kwargs):
        super(ReportChild, self).__init__(**kwargs)
        self.version = kwargs.get('version', None)
        self.report_id = kwargs.get('report_id', None)
        self.report_code = kwargs.get('report_code', None)
        self.report_info = kwargs.get('report_info', None)
        self.report_type = kwargs.get('report_type', None)
        self.description = kwargs.get('description', None)
        self.is_landscape = kwargs.get('is_landscape', None)
        self.last_updated = kwargs.get('last_updated', None)
        self.tags = kwargs.get('tags', None)
        self.export_formats = kwargs.get('export_formats', None)
        self.report_source = kwargs.get('report_source', None)
