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

    :param specific_widget_id: Specific Widget identifier <span
     class='property-internal'>Required</span>
    :type specific_widget_id: int
    :param title: Personal Widget title <span class='property-internal'>Must
     be between 0 and 600 characters</span> <span
     class='property-internal'>Required</span>
    :type title: str
    :param row: Dashboard row
    :type row: int
    :param col: Dashboard column
    :type col: int
    :param height: Widget height
    :type height: int
    :param width: Widget width
    :type width: int
    :param filters: Widget filters
    :type filters: list[~energycap.sdk.models.FilterEdit]
    """

    _validation = {
        'specific_widget_id': {'required': True},
        'title': {'required': True, 'max_length': 600, 'min_length': 0},
    }

    _attribute_map = {
        'specific_widget_id': {'key': 'specificWidgetId', 'type': 'int'},
        'title': {'key': 'title', 'type': 'str'},
        'row': {'key': 'row', 'type': 'int'},
        'col': {'key': 'col', 'type': 'int'},
        'height': {'key': 'height', 'type': 'int'},
        'width': {'key': 'width', 'type': 'int'},
        'filters': {'key': 'filters', 'type': '[FilterEdit]'},
    }

    def __init__(self, specific_widget_id, title, row=None, col=None, height=None, width=None, filters=None):
        super(WidgetEdit, self).__init__()
        self.specific_widget_id = specific_widget_id
        self.title = title
        self.row = row
        self.col = col
        self.height = height
        self.width = width
        self.filters = filters
