# 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.

    :param field_id:  <span class='property-internal'>Required</span>
    :type field_id: int
    :param width:  <span class='property-internal'>Required</span>
    :type width: int
    :param display_order:  <span class='property-internal'>Required</span>
    :type display_order: int
    :param sort_order:  <span class='property-internal'>Required</span>
    :type sort_order: int
    :param sort_direction:  <span class='property-internal'>Required</span>
     <span class='property-internal'>One of asc, desc </span>
    :type sort_direction: str
    :param 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, field_id, width, display_order, sort_order, sort_direction, visible):
        super(ListColumnEdit, self).__init__()
        self.field_id = field_id
        self.width = width
        self.display_order = display_order
        self.sort_order = sort_order
        self.sort_direction = sort_direction
        self.visible = visible
