# coding: utf-8

"""
    Mixpeek API

    This is the Mixpeek API, providing access to various endpoints for data processing and retrieval.

    The version of the OpenAPI document: 1.3.0
    Contact: info@mixpeek.com
    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 SharedOrganizationsEnumsResourceType(str, Enum):
    """
    Resource surfaces supported by scoped API keys and audit events.  These resource types can be used in: - API key scopes to restrict access to specific resources - Audit logs to identify what type of resource was affected - Permission systems to grant/deny access to resource categories  Resource hierarchy:     ORGANIZATION -> USER, API_KEY, STORAGE_CONNECTION     NAMESPACE -> COLLECTION, BUCKET, RETRIEVER, CLUSTER, TAXONOMY  Resource types:     - ORGANIZATION: Top-level tenant entity     - USER: Organization member with authentication credentials     - API_KEY: Authentication token for programmatic access     - NAMESPACE: Isolated environment for data and compute resources     - COLLECTION: Vector database collection for searchable documents     - BUCKET: Object storage container for raw files     - RETRIEVER: Configured search/retrieval pipeline     - CLUSTER: Ray compute cluster for distributed processing     - TAXONOMY: Hierarchical classification system for documents     - STORAGE_CONNECTION: External storage provider integration
    """

    """
    allowed enum values
    """
    ORGANIZATION = 'organization'
    USER = 'user'
    API_KEY = 'api_key'
    NAMESPACE = 'namespace'
    COLLECTION = 'collection'
    BUCKET = 'bucket'
    RETRIEVER = 'retriever'
    CLUSTER = 'cluster'
    TAXONOMY = 'taxonomy'
    STORAGE_CONNECTION = 'storage_connection'
    ALERT = 'alert'

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


