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

    :param available_operator:  <span class='property-internal'>Required
     (defined)</span>
    :type available_operator: list[str]
    :param caption:  <span class='property-internal'>Required (defined)</span>
    :type caption: str
    :param query_parameter_name:  <span class='property-internal'>Required
     (defined)</span>
    :type query_parameter_name: str
    :param field_id:  <span class='property-internal'>Required
     (defined)</span>
    :type field_id: int
    :param data_field_id:  <span class='property-internal'>Required
     (defined)</span>
    :type data_field_id: int
    :param data_type:
    :type data_type: ~energycap.sdk.models.DataTypeResponse
    :param operator:  <span class='property-internal'>Required
     (defined)</span>
    :type operator: str
    :param value:  <span class='property-internal'>Required (defined)</span>
    :type value: str
    :param required:  <span class='property-internal'>Required
     (defined)</span>
    :type required: bool
    :param recommended:  <span class='property-internal'>Required
     (defined)</span>
    :type recommended: bool
    """

    _attribute_map = {
        'available_operator': {'key': 'availableOperator', 'type': '[str]'},
        'caption': {'key': 'caption', 'type': 'str'},
        'query_parameter_name': {'key': 'queryParameterName', 'type': 'str'},
        'field_id': {'key': 'fieldId', 'type': 'int'},
        'data_field_id': {'key': 'dataFieldId', 'type': 'int'},
        'data_type': {'key': 'dataType', 'type': 'DataTypeResponse'},
        'operator': {'key': 'operator', 'type': 'str'},
        'value': {'key': 'value', 'type': 'str'},
        'required': {'key': 'required', 'type': 'bool'},
        'recommended': {'key': 'recommended', 'type': 'bool'},
    }

    def __init__(self, *, available_operator=None, caption: str=None, query_parameter_name: str=None, field_id: int=None, data_field_id: int=None, data_type=None, operator: str=None, value: str=None, required: bool=None, recommended: bool=None, **kwargs) -> None:
        super(FilterResponse, self).__init__(**kwargs)
        self.available_operator = available_operator
        self.caption = caption
        self.query_parameter_name = query_parameter_name
        self.field_id = field_id
        self.data_field_id = data_field_id
        self.data_type = data_type
        self.operator = operator
        self.value = value
        self.required = required
        self.recommended = recommended
