# coding: utf-8

"""
    STACKIT Marketplace API

    API to manage STACKIT Marketplace.

    The version of the OpenAPI document: 1
    Contact: marketplace@stackit.cloud
    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 SubscriptionLifecycleState(str, Enum):
    """
    Lifecycle state of the subscription.
    """

    """
    allowed enum values
    """
    SUBSCRIPTION_PENDING = "SUBSCRIPTION_PENDING"
    SUBSCRIPTION_ACTIVE = "SUBSCRIPTION_ACTIVE"
    SUBSCRIPTION_INACTIVE = "SUBSCRIPTION_INACTIVE"
    SUBSCRIPTION_CANCELLING = "SUBSCRIPTION_CANCELLING"
    SUBSCRIPTION_CANCELLED = "SUBSCRIPTION_CANCELLED"
    SUBSCRIPTION_REJECTED = "SUBSCRIPTION_REJECTED"

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