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

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

    :param field_name: Required. The setting field <span
     class='property-internal'>Required</span> <span
     class='property-internal'>Must be between 0 and 32 characters</span>
    :type field_name: str
    :param value: The setting value <span class='property-internal'>Must be
     between 0 and 255 characters</span> <span
     class='property-internal'>Required (defined)</span>
    :type value: str
    :param data_type_id: Required. The setting's data type identifier.
     Possible value include 1 (boolean), 2 (integer), 3 (string), 4 (double), 6
     (date) <span class='property-internal'>Required</span> <span
     class='property-internal'>One of 1, 2, 3, 4, 6 </span>
    :type data_type_id: int
    """

    _validation = {
        'field_name': {'required': True, 'max_length': 32, 'min_length': 0},
        'value': {'max_length': 255, 'min_length': 0},
        'data_type_id': {'required': True},
    }

    _attribute_map = {
        'field_name': {'key': 'fieldName', 'type': 'str'},
        'value': {'key': 'value', 'type': 'str'},
        'data_type_id': {'key': 'dataTypeId', 'type': 'int'},
    }

    def __init__(self, **kwargs):
        super(AdminSettingsRequest, self).__init__(**kwargs)
        self.field_name = kwargs.get('field_name', None)
        self.value = kwargs.get('value', None)
        self.data_type_id = kwargs.get('data_type_id', None)
