# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
from enum import Enum


class HealthCheckName(Enum):
    CHECK_SSH_CERTS = "check ssh certs"
    CUDA_MEMTEST = "cuda memtest"
    CHECK_ZOMBIE = "check zombie"
    CHECK_DSTATE = "check dstate"
    LINK_FLAP = "link flaps"
    XID_ERRORS = "xid errors"
    IO_ERRORS = "io errors"
    PROC_FREQ = "processor frequency"
    FREQ_GOVERNOR = "frequency governor"
    CHECK_MEM_SIZE = "check memory size"
    CHECK_BUDDYINFO = "check buddyinfo"
    IPMI_SEL = "ipmitool sel"
    HCA_COUNT = "hca count"
    DISK_USAGE = "disk usage"
    DISK_SIZE = "disk size"
    MOUNTED_DIR = "mounted directory"
    FILE_EXISTS = "file exists check"
    DIR_EXISTS = "directory exists check"
    RUNNING_PROCESS = "running process"
    CHECK_SSH = "check ssh"
    SLURM_STATE = "slurm state"
    SLURMCTLD_COUNT = "slurmctld count"
    SLURM_CLUSTER_AVAIL = "slurm cluster availability"
    SERVICE_STATUS = "service status"
    PACKAGE_VERSION = "package version"
    AIRSTORE_CREDENTIAL_COUNT = "airstore credential count"
    NCCL_TESTS = "nccl-tests"
    NVIDIA_SMI = "nvidia smi"
    NVIDIA_SMI_GPU_NUM = "nvidia smi gpu_num"
    NVIDIA_SMI_CLOCK_FREQ = "nvidia smi clock_freq"
    NVIDIA_SMI_RUNNING_PROCS = "nvidia smi running_procs"
    NVIDIA_SMI_RUNNING_PROCS_AND_KILL = "nvidia smi running_procs_and_kill"
    NVIDIA_SMI_GPU_TEMP = "nvidia smi gpu_temp"
    NVIDIA_SMI_MEM_USAGE = "nvidia smi mem_usage"
    NVIDIA_SMI_RETIRED_PAGES = "nvidia smi retired_pages"
    NVIDIA_SMI_ECC_UNCORRECTED = "nvidia smi ecc_uncorrected"
    NVIDIA_SMI_ECC_CORRECTED = "nvidia smi ecc_corrected"
    NVIDIA_SMI_ROW_REMAP = "nvidia smi row_remap"
    NVIDIA_SMI_ROW_REMAP_PENDING = "nvidia smi row_remap_pending"
    NVIDIA_SMI_ROW_REMAP_FAILED = "nvidia smi row_remap_failed"
    NVIDIA_SMI_VBIOS_MISMATCH = "nvidia smi bios version mismatch"
    DCGMI_DIAG = "check dcgmi diag"
    DCGMI_NVLINK = "check dcgmi nvlink"
    DCGMI_NVMLINK_ERROR = "check dcgmi nvlink error"
    DCGMI_NVMLINK_STATUS = "check dcgmi nvlink status"
    CHECK_IBSTAT = "check ibstat"
    CHECK_IB_INTERFACES = "check ib interfaces"
    CHECK_IBLINK = "check iblink"
    CHECK_PASS_STATUS = "check password status"
    CHECK_PATH_ACCESS = "check path access"
    CHECK_UPTIME = "check uptime"
    CHECK_MODULE = "check module"
    CHECK_DNF_REPOS = "check dnf repos"
    CHECK_MOUNTPOINT = "check mountpoint"
    CHECK_PCI = "check pci"
    CHECK_BLOCKDEV = "check blockdev"
    CHECK_ETHLINK = "check ethlink"
    CHECK_CLOCKSOURCE = "check clocksource"
    CHECK_SENSORS = "check sensors"
