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

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

    :param name: Required.
    :type name: str
    :param description:
    :type description: str
    :param time_range: Possible values include: 'EightHours', 'OneDay',
     'OneWeek', 'OneMonth', 'OneYear'
    :type time_range: str or ~smartdiagnostics_sdk.models.enum
    :param dashboard_widgets:
    :type dashboard_widgets:
     list[~smartdiagnostics_sdk.models.DashboardWidgetRequestChild]
    """

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

    _attribute_map = {
        'name': {'key': 'Name', 'type': 'str'},
        'description': {'key': 'Description', 'type': 'str'},
        'time_range': {'key': 'TimeRange', 'type': 'str'},
        'dashboard_widgets': {'key': 'DashboardWidgets', 'type': '[DashboardWidgetRequestChild]'},
    }

    def __init__(self, **kwargs):
        super(DashboardUpdateRequest, self).__init__(**kwargs)
        self.name = kwargs.get('name', None)
        self.description = kwargs.get('description', None)
        self.time_range = kwargs.get('time_range', None)
        self.dashboard_widgets = kwargs.get('dashboard_widgets', None)
