# coding: utf-8

"""
    Zitadel SDK

    The Zitadel SDK is a convenience wrapper around the Zitadel APIs to assist you in integrating with your Zitadel environment. This SDK enables you to handle resources, settings, and configurations within the Zitadel platform.

    The version of the OpenAPI document: 1.0.0
    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 WebKeyServiceBetaState(str, Enum):
    """
     - STATE_INITIAL: A newly created key is in the initial state and published to the public key endpoint.  - STATE_ACTIVE: The active key is used to sign tokens. Only one key can be active at a time.  - STATE_INACTIVE: The inactive key is not used to sign tokens anymore, but still published to the public key endpoint.  - STATE_REMOVED: The removed key is not used to sign tokens anymore and not published to the public key endpoint.
    """

    """
    allowed enum values
    """
    STATE_UNSPECIFIED = 'STATE_UNSPECIFIED'
    STATE_INITIAL = 'STATE_INITIAL'
    STATE_ACTIVE = 'STATE_ACTIVE'
    STATE_INACTIVE = 'STATE_INACTIVE'
    STATE_REMOVED = 'STATE_REMOVED'

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


