# coding: utf-8

"""
    NCBI Datasets API

    ### NCBI Datasets is a resource that lets you easily gather data from NCBI. The NCBI Datasets version 2 API is updated often to add new features, fix bugs, and enhance usability. 

    The version of the OpenAPI document: v2
    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 V2reportsRankType(str, Enum):
    """
    V2reportsRankType
    """

    """
    allowed enum values
    """
    NO_RANK = 'NO_RANK'
    SUPERKINGDOM = 'SUPERKINGDOM'
    DOMAIN = 'DOMAIN'
    REALM = 'REALM'
    KINGDOM = 'KINGDOM'
    SUBKINGDOM = 'SUBKINGDOM'
    SUPERPHYLUM = 'SUPERPHYLUM'
    SUBPHYLUM = 'SUBPHYLUM'
    PHYLUM = 'PHYLUM'
    CLADE = 'CLADE'
    SUPERCLASS = 'SUPERCLASS'
    CLASS = 'CLASS'
    SUBCLASS = 'SUBCLASS'
    INFRACLASS = 'INFRACLASS'
    COHORT = 'COHORT'
    SUBCOHORT = 'SUBCOHORT'
    SUPERORDER = 'SUPERORDER'
    ORDER = 'ORDER'
    SUBORDER = 'SUBORDER'
    INFRAORDER = 'INFRAORDER'
    PARVORDER = 'PARVORDER'
    SUPERFAMILY = 'SUPERFAMILY'
    FAMILY = 'FAMILY'
    SUBFAMILY = 'SUBFAMILY'
    GENUS = 'GENUS'
    SUBGENUS = 'SUBGENUS'
    SPECIES_GROUP = 'SPECIES_GROUP'
    SPECIES_SUBGROUP = 'SPECIES_SUBGROUP'
    SPECIES = 'SPECIES'
    SUBSPECIES = 'SUBSPECIES'
    TRIBE = 'TRIBE'
    SUBTRIBE = 'SUBTRIBE'
    FORMA = 'FORMA'
    VARIETAS = 'VARIETAS'
    STRAIN = 'STRAIN'
    SECTION = 'SECTION'
    SUBSECTION = 'SUBSECTION'
    PATHOGROUP = 'PATHOGROUP'
    SUBVARIETY = 'SUBVARIETY'
    GENOTYPE = 'GENOTYPE'
    SEROTYPE = 'SEROTYPE'
    ISOLATE = 'ISOLATE'
    MORPH = 'MORPH'
    SERIES = 'SERIES'
    FORMA_SPECIALIS = 'FORMA_SPECIALIS'
    SEROGROUP = 'SEROGROUP'
    BIOTYPE = 'BIOTYPE'
    ACELLULAR_ROOT = 'ACELLULAR_ROOT'
    CELLULAR_ROOT = 'CELLULAR_ROOT'

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


