# This file was auto-generated by Fern from our API Definition.

import enum
import typing

T_Result = typing.TypeVar("T_Result")


class FileStoreInfoResponseStatus(str, enum.Enum):
    OK = "ok"
    MISSING_BUCKETS = "missing_buckets"
    MISSING_CREDENTIALS = "missing_credentials"

    def visit(
        self,
        ok: typing.Callable[[], T_Result],
        missing_buckets: typing.Callable[[], T_Result],
        missing_credentials: typing.Callable[[], T_Result],
    ) -> T_Result:
        if self is FileStoreInfoResponseStatus.OK:
            return ok()
        if self is FileStoreInfoResponseStatus.MISSING_BUCKETS:
            return missing_buckets()
        if self is FileStoreInfoResponseStatus.MISSING_CREDENTIALS:
            return missing_credentials()
