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

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

    :param dashboard_widget_id: Required.
    :type dashboard_widget_id: str
    :param dashboard_widget_name: Required.
    :type dashboard_widget_name: str
    :param dashboard_widget_refresh_interval:
    :type dashboard_widget_refresh_interval: int
    :param dashboard_widget_layout:
    :type dashboard_widget_layout: ~smartdiagnostics_sdk.models.LayoutChild
    :param widget:
    :type widget: ~smartdiagnostics_sdk.models.WidgetChild
    """

    _validation = {
        'dashboard_widget_id': {'required': True},
        'dashboard_widget_name': {'required': True},
    }

    _attribute_map = {
        'dashboard_widget_id': {'key': 'DashboardWidgetId', 'type': 'str'},
        'dashboard_widget_name': {'key': 'DashboardWidgetName', 'type': 'str'},
        'dashboard_widget_refresh_interval': {'key': 'DashboardWidgetRefreshInterval', 'type': 'int'},
        'dashboard_widget_layout': {'key': 'DashboardWidgetLayout', 'type': 'LayoutChild'},
        'widget': {'key': 'Widget', 'type': 'WidgetChild'},
    }

    def __init__(self, *, dashboard_widget_id: str, dashboard_widget_name: str, dashboard_widget_refresh_interval: int=None, dashboard_widget_layout=None, widget=None, **kwargs) -> None:
        super(DashboardWidgetChild, self).__init__(**kwargs)
        self.dashboard_widget_id = dashboard_widget_id
        self.dashboard_widget_name = dashboard_widget_name
        self.dashboard_widget_refresh_interval = dashboard_widget_refresh_interval
        self.dashboard_widget_layout = dashboard_widget_layout
        self.widget = widget
