# coding: utf-8

"""
    1Password Connect

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)  # noqa: E501

    The version of the OpenAPI document: 0.2.1
    Generated by: https://openapi-generator.tech
"""
from onepasswordconnectsdk.models.field import Field

class OPField(Field):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    """
    Attributes:
      openapi_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    openapi_types = {
        'id': 'str',
        'section': 'OPFieldSection',
        'type': 'str',
        'purpose': 'str',
        'label': 'str',
        'value': 'str',
        'generate': 'bool',
        'entropy': 'float'
    }
    
    types = {
        "STRING": 'string',
        "EMAIL": 'email', 
        "CONCEALED": 'concealed', 
        "URL": 'URL', 
        "OTP": 'concealed_TOTP',
        "DATE": 'date', 
        "MONTH_YEAR": 'monthYear', 
        "MENU": 'menu',
        "ADDRESS": 'address',
        "REFERENCE": 'reference'
    }

    @property
    def type(self):
#         return super().type()
        """Gets the type of this Field.  # noqa: E501
 
 
        :return: The type of this Field.  # noqa: E501
        :rtype: str
        """
        return self._type

    @type.setter
    def type(self, type):
        """Sets the type of this Field.


        :param type: The type of this Field.  # noqa: E501
        :type: str
        """
        allowed_values = ["STRING", "EMAIL", "CONCEALED", "URL", "OTP", "DATE", "MONTH_YEAR", "MENU", "ADDRESS"]  # noqa: E501
        if type not in allowed_values:  # noqa: E501
            raise ValueError(
                "Invalid value for `type` ({0}), must be one of {1}"  # noqa: E501
                .format(type, allowed_values)
            )

        self._type = type
        