# coding: utf-8

"""
    Dashboards API

    Manage ThousandEyes Dashboards.

    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 WidgetMeasureType(str, Enum):
    """
    Determines how to aggregate the the metric.
    """

    """
    allowed enum values
    """
    MINIMUM = 'MINIMUM'
    MAXIMUM = 'MAXIMUM'
    MEAN = 'MEAN'
    MEDIAN = 'MEDIAN'
    NTH_PERCENTILE = 'NTH_PERCENTILE'
    PERCPOSITIVE = 'PERCPOSITIVE'
    PERCZERO = 'PERCZERO'
    STDDEV = 'STDDEV'
    TOTAL = 'TOTAL'
    VALUES = 'VALUES'
    SUM = 'SUM'
    CLOUD_NATIVE_MONITORING_MINUS_MEAN = 'CLOUD_NATIVE_MONITORING-MEAN'
    CLOUD_NATIVE_MONITORING_MINUS_SUM = 'CLOUD_NATIVE_MONITORING-SUM'
    TRAFFIC_INSIGHTS_MONITORING_MINUS_SUM = 'TRAFFIC_INSIGHTS_MONITORING-SUM'
    TRAFFIC_INSIGHTS_MONITORING_MINUS_MEAN = 'TRAFFIC_INSIGHTS_MONITORING-MEAN'
    UNKNOWN = 'unknown'

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

    @classmethod
    def _missing_(cls, value):
        """Handle unknown values"""
        return cls.UNKNOWN

