"""
RCABench API

RCABench - A comprehensive root cause analysis benchmarking platform for microservices

The version of the OpenAPI document: 1.1.51
Contact: team@rcabench.com
Generated by OpenAPI Generator (https://rcabench.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 ChaosChaosType(int, Enum):
    """
    ChaosChaosType
    """

    """
    allowed enum values
    """
    PodKill = 0
    PodFailure = 1
    ContainerKill = 2
    MemoryStress = 3
    CPUStress = 4
    HTTPRequestAbort = 5
    HTTPResponseAbort = 6
    HTTPRequestDelay = 7
    HTTPResponseDelay = 8
    HTTPResponseReplaceBody = 9
    HTTPResponsePatchBody = 10
    HTTPRequestReplacePath = 11
    HTTPRequestReplaceMethod = 12
    HTTPResponseReplaceCode = 13
    DNSError = 14
    DNSRandom = 15
    TimeSkew = 16
    NetworkDelay = 17
    NetworkLoss = 18
    NetworkDuplicate = 19
    NetworkCorrupt = 20
    NetworkBandwidth = 21
    NetworkPartition = 22
    JVMLatency = 23
    JVMReturn = 24
    JVMException = 25
    JVMGarbageCollector = 26
    JVMCPUStress = 27
    JVMMemoryStress = 28
    JVMMySQLLatency = 29
    JVMMySQLException = 30

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