# This file is auto-generated by oagen. Do not edit.

"""Enumeration of widget session token scopes values."""

from __future__ import annotations

from enum import Enum
from typing import Optional
from typing import Literal, TypeAlias


class WidgetSessionTokenScopes(str, Enum):
    """Known values for WidgetSessionTokenScopes."""

    WIDGETS_USERS_TABLE_MANAGE = "widgets:users-table:manage"
    WIDGETS_DOMAIN_VERIFICATION_MANAGE = "widgets:domain-verification:manage"
    WIDGETS_SSO_MANAGE = "widgets:sso:manage"
    WIDGETS_API_KEYS_MANAGE = "widgets:api-keys:manage"
    WIDGETS_DSYNC_MANAGE = "widgets:dsync:manage"
    WIDGETS_AUDIT_LOG_STREAMING_MANAGE = "widgets:audit-log-streaming:manage"
    WIDGETS_PIPES_MANAGE = "widgets:pipes:manage"

    @classmethod
    def _missing_(cls, value: object) -> Optional["WidgetSessionTokenScopes"]:
        if not isinstance(value, str):
            return None
        unknown = str.__new__(cls, value)
        unknown._name_ = value.upper()
        unknown._value_ = value
        return unknown


WidgetSessionTokenScopesLiteral: TypeAlias = Literal[
    "widgets:users-table:manage",
    "widgets:domain-verification:manage",
    "widgets:sso:manage",
    "widgets:api-keys:manage",
    "widgets:dsync:manage",
    "widgets:audit-log-streaming:manage",
    "widgets:pipes:manage",
]
