from enum import Enum


class AggregatedUsageType(str, Enum):
    AGENTCLOUDBACKUPDATATRANSFERIN = "AgentCloudBackupDataTransferIn"
    AGENTCLOUDBACKUPDATATRANSFEROUT = "AgentCloudBackupDataTransferOut"
    BACKEDUPVMS = "BackedupVms"
    CLOUDARCHIVETIERBACKUPSIZE = "CloudArchiveTierBackupSize"
    CLOUDCAPACITYTIERBACKUPSIZE = "CloudCapacityTierBackupSize"
    CLOUDINSIDERPROTECTIONBACKUPSIZE = "CloudInsiderProtectionBackupSize"
    CLOUDOBJECTSTORAGEUSAGE = "CloudObjectStorageUsage"
    CLOUDPERFORMANCETIERBACKUPSIZE = "CloudPerformanceTierBackupSize"
    CLOUDREGULARSTORAGEUSAGE = "CloudRegularStorageUsage"
    CLOUDREPOSITORYUSAGEBYSERVERAGENT = "CloudRepositoryUsageByServerAgent"
    CLOUDREPOSITORYUSAGEBYUNKNOWNFILES = "CloudRepositoryUsageByUnknownFiles"
    CLOUDREPOSITORYUSAGEBYVM = "CloudRepositoryUsageByVm"
    CLOUDREPOSITORYUSAGEBYWORKSTATIONAGENT = "CloudRepositoryUsageByWorkstationAgent"
    CLOUDTOTALUSAGE = "CloudTotalUsage"
    FILESHAREARCHIVESIZE = "FileShareArchiveSize"
    FILESHAREBACKUPSIZE = "FileShareBackupSize"
    FILESHARESOURCESIZE = "FileShareSourceSize"
    MANAGEDAGENTSLINUXOS = "ManagedAgentsLinuxOS"
    MANAGEDAGENTSMACOS = "ManagedAgentsMacOS"
    MANAGEDAGENTSWINDOWSDESKTOPOS = "ManagedAgentsWindowsDesktopOS"
    MANAGEDAGENTSWINDOWSSERVEROS = "ManagedAgentsWindowsServerOS"
    MANAGEDCDPVMS = "ManagedCdpVms"
    MANAGEDCLOUDVMS = "ManagedCloudVms"
    MANAGEDSERVERAGENTS = "ManagedServerAgents"
    MANAGEDUSERS = "ManagedUsers"
    MANAGEDVMS = "ManagedVms"
    MANAGEDWORKSTATIONAGENTS = "ManagedWorkstationAgents"
    OBJECTSTORAGEARCHIVESIZE = "ObjectStorageArchiveSize"
    OBJECTSTORAGEBACKUPSIZE = "ObjectStorageBackupSize"
    OBJECTSTORAGESOURCESIZE = "ObjectStorageSourceSize"
    PROTECTEDFILESHARES = "ProtectedFileShares"
    PROTECTEDOBJECTSTORAGES = "ProtectedObjectStorages"
    PUBLICCLOUDARCHIVESIZE = "PublicCloudArchiveSize"
    PUBLICCLOUDBACKUPSIZE = "PublicCloudBackupSize"
    PUBLICCLOUDPROTECTEDCLOUDDATABASES = "PublicCloudProtectedCloudDatabases"
    PUBLICCLOUDPROTECTEDFILESHARES = "PublicCloudProtectedFileShares"
    REPLICATEDVMS = "ReplicatedVms"
    SERVERCLOUDBACKUPS = "ServerCloudBackups"
    UNKNOWN = "Unknown"
    VB365ARCHIVESIZE = "Vb365ArchiveSize"
    VB365BACKUPSIZE = "Vb365BackupSize"
    VB365PROTECTEDEDUCATIONALUSERS = "Vb365ProtectedEducationalUsers"
    VB365PROTECTEDGROUPS = "Vb365ProtectedGroups"
    VB365PROTECTEDSITES = "Vb365ProtectedSites"
    VB365PROTECTEDTEAMS = "Vb365ProtectedTeams"
    VB365PROTECTEDUSERS = "Vb365ProtectedUsers"
    VBRBACKUPSIZE = "VbrBackupSize"
    VBRCLOUDBACKUPSDATATRANSFERIN = "VbrCloudBackupsDataTransferIn"
    VBRCLOUDBACKUPSDATATRANSFEROUT = "VbrCloudBackupsDataTransferOut"
    VBRCLOUDREPLICADATATRANSFERIN = "VbrCloudReplicaDataTransferIn"
    VBRCLOUDREPLICADATATRANSFEROUT = "VbrCloudReplicaDataTransferOut"
    VMCLOUDBACKUPS = "VmCloudBackups"
    VMCLOUDREPLICACOMPUTETIME = "VmCloudReplicaComputeTime"
    VMCLOUDREPLICAS = "VmCloudReplicas"
    VMCLOUDREPLICASTORAGEUSAGE = "VmCloudReplicaStorageUsage"
    WORKSTATIONCLOUDBACKUPS = "WorkstationCloudBackups"

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