# coding: utf-8

"""
    Workspace Data Service

    This page lists current APIs.  All v0.2 APIs are subject to change without notice.  Changelog at [https://github.com/DataBiosphere/terra-workspace-data-service/releases](https://github.com/DataBiosphere/terra-workspace-data-service/releases) 

    The version of the OpenAPI document: v0.2
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class AttributeDataType(str, Enum):
    """
    Datatype of attribute. The enum of data types is in flux and will change. Please comment at https://docs.google.com/document/d/1d352ZoN5kEYWPjy0NqqWGxdf7HEu5VEdrLmiAv7dMmQ/edit#heading=h.naxag0augkgf. 
    """

    """
    allowed enum values
    """
    BOOLEAN = 'BOOLEAN'
    NUMBER = 'NUMBER'
    DATE = 'DATE'
    DATE_TIME = 'DATE_TIME'
    STRING = 'STRING'
    JSON = 'JSON'
    RELATION = 'RELATION'
    FILE = 'FILE'
    ARRAY_OF_BOOLEAN = 'ARRAY_OF_BOOLEAN'
    ARRAY_OF_STRING = 'ARRAY_OF_STRING'
    ARRAY_OF_NUMBER = 'ARRAY_OF_NUMBER'
    ARRAY_OF_DATE = 'ARRAY_OF_DATE'
    ARRAY_OF_DATE_TIME = 'ARRAY_OF_DATE_TIME'
    ARRAY_OF_RELATION = 'ARRAY_OF_RELATION'
    ARRAY_OF_FILE = 'ARRAY_OF_FILE'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of AttributeDataType from a JSON string"""
        return cls(json.loads(json_str))


