from enum import Enum


class ESessionType(str, Enum):
    AUTOMATION = "Automation"
    AZUREAPPLIANCEDEPLOY = "AzureApplianceDeploy"
    BACKGROUNDOPERATION = "BackgroundOperation"
    BACKUPJOB = "BackupJob"
    CLOUDDIRECTORVAPPRESTORE = "CloudDirectorVAppRestore"
    CLOUDDIRECTORVMRESTORE = "CloudDirectorVmRestore"
    COMMITFAILBACK = "CommitFailback"
    CONFIGURATIONBACKUP = "ConfigurationBackup"
    CONFIGURATIONRESYNCHRONIZE = "ConfigurationResynchronize"
    DELETEBACKUP = "DeleteBackup"
    ENTRAIDRESCANREPOSITORY = "EntraIdRescanRepository"
    ENTRAIDRESTORE = "EntraIdRestore"
    FAILBACK = "Failback"
    FAILOVER = "Failover"
    FILELEVELRESTORE = "FileLevelRestore"
    FILESERVERSAVE = "FileServerSave"
    FIRSTCLASSDISKINSTANTRESTORE = "FirstClassDiskInstantRestore"
    FIRSTCLASSDISKQUICKMIGRATION = "FirstClassDiskQuickMigration"
    INFRASTRUCTURE = "Infrastructure"
    INFRASTRUCTUREITEMDELETION = "InfrastructureItemDeletion"
    INSTANTRECOVERY = "InstantRecovery"
    LINUXFILELEVELRESTORE = "LinuxFileLevelRestore"
    MALWAREDETECTION = "MalwareDetection"
    NASRESTORE = "NasRestore"
    PERMANENTFAILOVER = "PermanentFailover"
    PLANNEDFAILOVER = "PlannedFailover"
    PUBLISHBACKUPCONTENTVIAMOUNT = "PublishBackupContentViaMount"
    QUICKMIGRATION = "QuickMigration"
    REPLICAJOB = "ReplicaJob"
    REPOSITORYEVACUATE = "RepositoryEvacuate"
    REPOSITORYMAINTENANCE = "RepositoryMaintenance"
    RESTOREVM = "RestoreVm"
    SECURITYCOMPLIANCEANALYZER = "SecurityComplianceAnalyzer"
    SUREBACKUP = "SureBackup"
    SWITCHREPLICATOPRODUCTION = "SwitchReplicaToProduction"
    UNDOFAILBACK = "UndoFailback"
    UNDOFAILOVER = "UndoFailover"
    UNSTRUCTUREDDATABROWSE = "UnstructuredDataBrowse"
    UNSTRUCTUREDDOWNLOADMETA = "UnstructuredDownloadMeta"

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