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

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

    :param field_id: Required. Column/Filter Identifier <span
     class='property-internal'>Required</span>
    :type field_id: int
    :param width: Required. Width of the column <span
     class='property-internal'>Required</span>
    :type width: int
    :param display_order: Required. Order of the column <span
     class='property-internal'>Required</span>
    :type display_order: int
    :param sort_order: Required. Sort order for the column <span
     class='property-internal'>Required</span>
    :type sort_order: int
    :param sort_direction: Required. Sort direction <span
     class='property-internal'>Required</span> <span
     class='property-internal'>One of asc, desc </span>
    :type sort_direction: str
    :param visible: Required. Is the column visible? <span
     class='property-internal'>Required</span>
    :type visible: bool
    """

    _validation = {
        'field_id': {'required': True},
        'width': {'required': True},
        'display_order': {'required': True},
        'sort_order': {'required': True},
        'sort_direction': {'required': True},
        'visible': {'required': True},
    }

    _attribute_map = {
        'field_id': {'key': 'fieldId', 'type': 'int'},
        'width': {'key': 'width', 'type': 'int'},
        'display_order': {'key': 'displayOrder', 'type': 'int'},
        'sort_order': {'key': 'sortOrder', 'type': 'int'},
        'sort_direction': {'key': 'sortDirection', 'type': 'str'},
        'visible': {'key': 'visible', 'type': 'bool'},
    }

    def __init__(self, **kwargs):
        super(ListColumnEdit, self).__init__(**kwargs)
        self.field_id = kwargs.get('field_id', None)
        self.width = kwargs.get('width', None)
        self.display_order = kwargs.get('display_order', None)
        self.sort_order = kwargs.get('sort_order', None)
        self.sort_direction = kwargs.get('sort_direction', None)
        self.visible = kwargs.get('visible', None)
