from enum import Enum


class BTApiVersion(str, Enum):
    UNDEFINED = "UNDEFINED"
    V10_VALIDATE_VISIBILTY_CONDITIONS_FOR_PS_CONFIG_PARAMS = "V10_VALIDATE_VISIBILTY_CONDITIONS_FOR_PS_CONFIG_PARAMS"
    V11_EXCLUDE_ZIP_CONTENTS_BY_DEFAULT = "V11_EXCLUDE_ZIP_CONTENTS_BY_DEFAULT"
    V12_VALIDATE_ELEMENT_TYPE_FOR_TRANSLATIONS = "V12_VALIDATE_ELEMENT_TYPE_FOR_TRANSLATIONS"
    V13_SOURCE_TARGET_DOCUMENT_VERSIONS_TO_MOVE = "V13_SOURCE_TARGET_DOCUMENT_VERSIONS_TO_MOVE"
    V14_FIX_REFERENCE_TYPE = "V14_FIX_REFERENCE_TYPE"
    V1_START = "V1_START"
    V2_SERIALIZATION_UNIFICATION = "V2_SERIALIZATION_UNIFICATION"
    V3_NEW_BOM_FORMAT = "V3_NEW_BOM_FORMAT"
    V4_TRANSACTIONS_NO_NEW = "V4_TRANSACTIONS_NO_NEW"
    V5_BODY_DETAILS_COMPOSITE_REFERENCE = "V5_BODY_DETAILS_COMPOSITE_REFERENCE"
    V6_JSON_EDIT_RESPONSE_BUGFIX = "V6_JSON_EDIT_RESPONSE_BUGFIX"
    V7_SKETCH_ENDPOINT_INCLUDES_SOLVE_STATUS = "V7_SKETCH_ENDPOINT_INCLUDES_SOLVE_STATUS"
    V8_RESTORE_NOOP_NO_NEW_MICROVERSION = "V8_RESTORE_NOOP_NO_NEW_MICROVERSION"
    V9_INCLUDE_DETERMINISTIC_IDS_TO_QUERY_RESPONSES = "V9_INCLUDE_DETERMINISTIC_IDS_TO_QUERY_RESPONSES"

    def __str__(self) -> str:
        return str(self.value)
