# coding: utf-8

"""
Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
"""

from __future__ import annotations

from enum import Enum
from json import loads
from sys import version_info

if version_info >= (3, 11):
    from typing import Self
else:
    from typing_extensions import Self


class Acl(str, Enum):
    """
    Access control list permissions.
    """

    """
    allowed enum values
    """
    ADDOBJECT = "addObject"

    ANALYTICS = "analytics"

    BROWSE = "browse"

    DELETEOBJECT = "deleteObject"

    DELETEINDEX = "deleteIndex"

    EDITSETTINGS = "editSettings"

    INFERENCE = "inference"

    LISTINDEXES = "listIndexes"

    LOGS = "logs"

    PERSONALIZATION = "personalization"

    RECOMMENDATION = "recommendation"

    SEARCH = "search"

    SEEUNRETRIEVABLEATTRIBUTES = "seeUnretrievableAttributes"

    SETTINGS = "settings"

    USAGE = "usage"

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