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

    All required parameters must be populated in order to send to Azure.

    :param name:
    :type name: str
    :param description:
    :type description: str
    :param template_id: Required.
    :type template_id: int
    :param corporation_id: Required.
    :type corporation_id: str
    :param location_id:
    :type location_id: str
    :param time_range: Possible values include: 'EightHours', 'OneDay',
     'OneWeek', 'OneMonth', 'OneYear'
    :type time_range: str or ~smartdiagnostics_sdk.models.enum
    :param power_bi_report_url:
    :type power_bi_report_url: str
    """

    _validation = {
        'name': {'max_length': 128, 'min_length': 0},
        'description': {'max_length': 1000, 'min_length': 0},
        'template_id': {'required': True},
        'corporation_id': {'required': True},
    }

    _attribute_map = {
        'name': {'key': 'Name', 'type': 'str'},
        'description': {'key': 'Description', 'type': 'str'},
        'template_id': {'key': 'TemplateId', 'type': 'int'},
        'corporation_id': {'key': 'CorporationId', 'type': 'str'},
        'location_id': {'key': 'LocationId', 'type': 'str'},
        'time_range': {'key': 'TimeRange', 'type': 'str'},
        'power_bi_report_url': {'key': 'PowerBiReportUrl', 'type': 'str'},
    }

    def __init__(self, *, template_id: int, corporation_id: str, name: str=None, description: str=None, location_id: str=None, time_range=None, power_bi_report_url: str=None, **kwargs) -> None:
        super(DashboardCreateRequest, self).__init__(**kwargs)
        self.name = name
        self.description = description
        self.template_id = template_id
        self.corporation_id = corporation_id
        self.location_id = location_id
        self.time_range = time_range
        self.power_bi_report_url = power_bi_report_url
