# coding: utf-8

"""
    Mixpeek API

    This is the Mixpeek API, providing access to various endpoints for data processing and retrieval.

    The version of the OpenAPI document: 1.3.0
    Contact: info@mixpeek.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 ErrorHandling(str, Enum):
    """
    Error handling strategy for API call failures.  Defines what happens when an API call fails (network error, timeout, authentication failure, etc.). Choose based on whether failed enrichment should be fatal or gracefully handled.  Values:     SKIP: Skip document enrichment, keep document in results         - Document remains unchanged in the pipeline         - Best for optional enrichment         - Use when: Enrichment is nice-to-have but not critical         - Example: Adding weather data to locations (keep doc if API fails)      REMOVE: Remove document from results entirely         - Document is filtered out of pipeline         - Best when enrichment is mandatory         - Use when: Document is useless without enrichment         - Example: Must have Stripe billing data to proceed      RAISE: Raise exception and fail entire pipeline         - Stops pipeline execution immediately         - Best for debugging or critical failures         - Use when: Want to catch and fix configuration issues         - Example: Development/testing to catch errors early  Examples:     - Optional weather enrichment: SKIP     - Mandatory Stripe billing: REMOVE     - Development/debugging: RAISE
    """

    """
    allowed enum values
    """
    SKIP = 'skip'
    REMOVE = 'remove'
    RAISE = 'raise'

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


