# coding: utf-8

"""
    Zuora API Reference

    REST API reference for the Zuora Billing, Payments, and Central Platform! Check out the [REST API Overview](https://www.zuora.com/developer/api-references/api/overview/).

    The version of the OpenAPI document: 2024-05-20
    Contact: docs@zuora.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 TriggerEvent(str, Enum):
    """
    Condition for the charge to become active. If this field is not specified, the value of the field will be defaulted to the trigger event value defined in the product catalog.  If the value of this field is `SpecificDate`, use the `specificTriggerDate` field to specify the date when the charge becomes active. 
    """

    """
    allowed enum values
    """
    CONTRACTEFFECTIVE = 'ContractEffective'
    SERVICEACTIVATION = 'ServiceActivation'
    CUSTOMERACCEPTANCE = 'CustomerAcceptance'
    SPECIFICDATE = 'SpecificDate'

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


