# coding: utf-8

"""
    Test Results API

    Get test result metrics for Network and Application Synthetics tests.

    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 DnsOpcode(str, Enum):
    """
    DNS header OPCODE field (RFC 1035).
    """

    """
    allowed enum values
    """
    QUERY = 'query'
    IQUERY = 'iquery'
    STATUS = 'status'
    UNKNOWN_MINUS_3 = 'unknown-3'
    UNKNOWN_MINUS_4 = 'unknown-4'
    UNKNOWN_MINUS_5 = 'unknown-5'
    UNKNOWN_MINUS_6 = 'unknown-6'
    UNKNOWN_MINUS_7 = 'unknown-7'
    UNKNOWN_MINUS_8 = 'unknown-8'
    UNKNOWN_MINUS_9 = 'unknown-9'
    UNKNOWN_MINUS_10 = 'unknown-10'
    UNKNOWN_MINUS_11 = 'unknown-11'
    UNKNOWN_MINUS_12 = 'unknown-12'
    UNKNOWN_MINUS_13 = 'unknown-13'
    UNKNOWN_MINUS_14 = 'unknown-14'
    UNKNOWN_MINUS_15 = 'unknown-15'
    UNKNOWN = 'unknown'

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

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

