from enum import Enum


class InvoiceChargeCategory(str, Enum):
    CLOUDARCHIVETIERCONSUMEDSPACE = "CloudArchiveTierConsumedSpace"
    CLOUDBACKUPDATATRANSFEROUT = "CloudBackupDataTransferOut"
    CLOUDCAPACITYTIERCONSUMEDSPACE = "CloudCapacityTierConsumedSpace"
    CLOUDINSIDERPROTECTION = "CloudInsiderProtection"
    CLOUDPERFORMANCETIERCONSUMEDSPACE = "CloudPerformanceTierConsumedSpace"
    CLOUDREPLICATIONDATATRANSFEROUT = "CloudReplicationDataTransferOut"
    CLOUDREPOSITORYALLOCATEDSPACE = "CloudRepositoryAllocatedSpace"
    CLOUDREPOSITORYCONSUMEDSPACE = "CloudRepositoryConsumedSpace"
    CLOUDSERVERBACKUP = "CloudServerBackup"
    CLOUDVMBACKUP = "CloudVmBackup"
    CLOUDVMCDPREPLICA = "CloudVmCdpReplica"
    CLOUDVMREPLICA = "CloudVmReplica"
    CLOUDVMREPLICACOMPUTERESOURCES = "CloudVmReplicaComputeResources"
    CLOUDVMREPLICACONSUMEDMEMORY = "CloudVmReplicaConsumedMemory"
    CLOUDVMREPLICACONSUMEDSTORAGE = "CloudVmReplicaConsumedStorage"
    CLOUDWORKSTATIONBACKUP = "CloudWorkstationBackup"
    HOSTEDLONGTERMBACKUP = "HostedLongTermBackup"
    HOSTEDSHORTTERMBACKUP = "HostedShortTermBackup"
    HOSTEDSOURCEAMOUNTOFDATA = "HostedSourceAmountOfData"
    LICADVANCEDVDPAPPLICATION = "LicAdvancedVdpApplication"
    LICADVANCEDVDPCLOUDDATABASE = "LicAdvancedVdpCloudDatabase"
    LICADVANCEDVDPCLOUDFILESHARE = "LicAdvancedVdpCloudFileShare"
    LICADVANCEDVDPCLOUDVM = "LicAdvancedVdpCloudVm"
    LICADVANCEDVDPFILESHARE = "LicAdvancedVdpFileShare"
    LICADVANCEDVDPMICROSOFTENTRAID = "LicAdvancedVdpMicrosoftEntraId"
    LICADVANCEDVDPOBJECTSTORAGE = "LicAdvancedVdpObjectStorage"
    LICADVANCEDVDPSERVER = "LicAdvancedVdpServer"
    LICADVANCEDVDPVM = "LicAdvancedVdpVm"
    LICADVANCEDVDPWORKSTATION = "LicAdvancedVdpWorkstation"
    LICENTERPRISEPLUSVBRAPPLICATION = "LicEnterprisePlusVbrApplication"
    LICENTERPRISEPLUSVBRCLOUDDATABASE = "LicEnterprisePlusVbrCloudDatabase"
    LICENTERPRISEPLUSVBRCLOUDFILESHARE = "LicEnterprisePlusVbrCloudFileShare"
    LICENTERPRISEPLUSVBRCLOUDVM = "LicEnterprisePlusVbrCloudVm"
    LICENTERPRISEPLUSVBRFILESHARE = "LicEnterprisePlusVbrFileShare"
    LICENTERPRISEPLUSVBRMICROSOFTENTRAID = "LicEnterprisePlusVbrMicrosoftEntraId"
    LICENTERPRISEPLUSVBROBJECTSTORAGE = "LicEnterprisePlusVbrObjectStorage"
    LICENTERPRISEPLUSVBRSERVER = "LicEnterprisePlusVbrServer"
    LICENTERPRISEPLUSVBRVM = "LicEnterprisePlusVbrVm"
    LICENTERPRISEPLUSVBRWORKSTATION = "LicEnterprisePlusVbrWorkstation"
    LICENTERPRISEVBRAPPLICATION = "LicEnterpriseVbrApplication"
    LICENTERPRISEVBRCLOUDDATABASE = "LicEnterpriseVbrCloudDatabase"
    LICENTERPRISEVBRCLOUDFILESHARE = "LicEnterpriseVbrCloudFileShare"
    LICENTERPRISEVBRCLOUDVM = "LicEnterpriseVbrCloudVm"
    LICENTERPRISEVBRFILESHARE = "LicEnterpriseVbrFileShare"
    LICENTERPRISEVBRMICROSOFTENTRAID = "LicEnterpriseVbrMicrosoftEntraId"
    LICENTERPRISEVBROBJECTSTORAGE = "LicEnterpriseVbrObjectStorage"
    LICENTERPRISEVBRSERVER = "LicEnterpriseVbrServer"
    LICENTERPRISEVBRVM = "LicEnterpriseVbrVm"
    LICENTERPRISEVBRWORKSTATION = "LicEnterpriseVbrWorkstation"
    LICFOUNDATIONVDPAPPLICATION = "LicFoundationVdpApplication"
    LICFOUNDATIONVDPCLOUDDATABASE = "LicFoundationVdpCloudDatabase"
    LICFOUNDATIONVDPCLOUDFILESHARE = "LicFoundationVdpCloudFileShare"
    LICFOUNDATIONVDPCLOUDVM = "LicFoundationVdpCloudVm"
    LICFOUNDATIONVDPFILESHARE = "LicFoundationVdpFileShare"
    LICFOUNDATIONVDPMICROSOFTENTRAID = "LicFoundationVdpMicrosoftEntraId"
    LICFOUNDATIONVDPOBJECTSTORAGE = "LicFoundationVdpObjectStorage"
    LICFOUNDATIONVDPSERVER = "LicFoundationVdpServer"
    LICFOUNDATIONVDPVM = "LicFoundationVdpVm"
    LICFOUNDATIONVDPWORKSTATION = "LicFoundationVdpWorkstation"
    LICPREMIUMVDPAPPLICATION = "LicPremiumVdpApplication"
    LICPREMIUMVDPCLOUDDATABASE = "LicPremiumVdpCloudDatabase"
    LICPREMIUMVDPCLOUDFILESHARE = "LicPremiumVdpCloudFileShare"
    LICPREMIUMVDPCLOUDVM = "LicPremiumVdpCloudVm"
    LICPREMIUMVDPFILESHARE = "LicPremiumVdpFileShare"
    LICPREMIUMVDPMICROSOFTENTRAID = "LicPremiumVdpMicrosoftEntraId"
    LICPREMIUMVDPOBJECTSTORAGE = "LicPremiumVdpObjectStorage"
    LICPREMIUMVDPSERVER = "LicPremiumVdpServer"
    LICPREMIUMVDPVM = "LicPremiumVdpVm"
    LICPREMIUMVDPWORKSTATION = "LicPremiumVdpWorkstation"
    LICPUBLICCLOUDDATABASE = "LicPublicCloudDatabase"
    LICPUBLICCLOUDFILESHARE = "LicPublicCloudFileShare"
    LICPUBLICCLOUDVM = "LicPublicCloudVm"
    LICSTANDARDVBRAPPLICATION = "LicStandardVbrApplication"
    LICSTANDARDVBRCLOUDDATABASE = "LicStandardVbrCloudDatabase"
    LICSTANDARDVBRCLOUDFILESHARE = "LicStandardVbrCloudFileShare"
    LICSTANDARDVBRCLOUDVM = "LicStandardVbrCloudVm"
    LICSTANDARDVBRFILESHARE = "LicStandardVbrFileShare"
    LICSTANDARDVBRMICROSOFTENTRAID = "LicStandardVbrMicrosoftEntraId"
    LICSTANDARDVBROBJECTSTORAGE = "LicStandardVbrObjectStorage"
    LICSTANDARDVBRSERVER = "LicStandardVbrServer"
    LICSTANDARDVBRVM = "LicStandardVbrVm"
    LICSTANDARDVBRWORKSTATION = "LicStandardVbrWorkstation"
    LICVB365USER = "LicVb365User"
    LICVCCBACKUPVM = "LicVccBackupVm"
    LICVCCREPLICAVM = "LicVccReplicaVm"
    LICVCCSERVER = "LicVccServer"
    LICVCCWORKSTATION = "LicVccWorkstation"
    LICVEEAMONEMONITOREDOBJECT = "LicVeeamOneMonitoredObject"
    LICVSPCSERVER = "LicVspcServer"
    LICVSPCWORKSTATION = "LicVspcWorkstation"
    LINUXOSHOSTED = "LinuxOSHosted"
    LINUXOSREMOTE = "LinuxOSRemote"
    MACOSHOSTED = "MacOSHosted"
    MACOSREMOTE = "MacOSRemote"
    MANAGEDHOSTEDCDPVM = "ManagedHostedCdpVm"
    MANAGEDHOSTEDCLOUDVM = "ManagedHostedCloudVm"
    MANAGEDHOSTEDSERVER = "ManagedHostedServer"
    MANAGEDHOSTEDVM = "ManagedHostedVm"
    MANAGEDHOSTEDWORKSTATION = "ManagedHostedWorkstation"
    MANAGEDREMOTECDPVM = "ManagedRemoteCdpVm"
    MANAGEDREMOTECLOUDVM = "ManagedRemoteCloudVm"
    MANAGEDREMOTESERVER = "ManagedRemoteServer"
    MANAGEDREMOTEVM = "ManagedRemoteVm"
    MANAGEDREMOTEWORKSTATION = "ManagedRemoteWorkstation"
    MANAGEDSERVICES = "ManagedServices"
    MONITOREDSERVICES = "MonitoredServices"
    PUBLICCLOUDHOSTEDARCHIVESIZE = "PublicCloudHostedArchiveSize"
    PUBLICCLOUDHOSTEDBACKUPSIZE = "PublicCloudHostedBackupSize"
    PUBLICCLOUDHOSTEDDATABASE = "PublicCloudHostedDatabase"
    PUBLICCLOUDHOSTEDFILESHARE = "PublicCloudHostedFileShare"
    PUBLICCLOUDHOSTEDNETWORK = "PublicCloudHostedNetwork"
    PUBLICCLOUDHOSTEDNETWORKBACKUPSERVICES = "PublicCloudHostedNetworkBackupServices"
    PUBLICCLOUDREMOTEARCHIVESIZE = "PublicCloudRemoteArchiveSize"
    PUBLICCLOUDREMOTEBACKUPSIZE = "PublicCloudRemoteBackupSize"
    PUBLICCLOUDREMOTEDATABASE = "PublicCloudRemoteDatabase"
    PUBLICCLOUDREMOTEFILESHARE = "PublicCloudRemoteFileShare"
    PUBLICCLOUDREMOTENETWORK = "PublicCloudRemoteNetwork"
    PUBLICCLOUDREMOTENETWORKBACKUPSERVICES = "PublicCloudRemoteNetworkBackupServices"
    REMOTELONGTERMBACKUP = "RemoteLongTermBackup"
    REMOTESHORTTERMBACKUP = "RemoteShortTermBackup"
    REMOTESOURCEAMOUNTOFDATA = "RemoteSourceAmountOfData"
    UNKNOWN = "Unknown"
    VB365HOSTEDARCHIVESIZE = "Vb365HostedArchiveSize"
    VB365HOSTEDBACKUPSIZE = "Vb365HostedBackupSize"
    VB365HOSTEDEDUCATIONALUSER = "Vb365HostedEducationalUser"
    VB365HOSTEDREPOSITORYALLOCATEDSPACE = "Vb365HostedRepositoryAllocatedSpace"
    VB365HOSTEDUSER = "Vb365HostedUser"
    VB365REMOTEARCHIVESIZE = "Vb365RemoteArchiveSize"
    VB365REMOTEBACKUPSIZE = "Vb365RemoteBackupSize"
    VB365REMOTEEDUCATIONALUSER = "Vb365RemoteEducationalUser"
    VB365REMOTEREPOSITORYALLOCATEDSPACE = "Vb365RemoteRepositoryAllocatedSpace"
    VB365REMOTEUSER = "Vb365RemoteUser"
    VBRREPOSITORYHOSTEDALLOCATEDSPACE = "VbrRepositoryHostedAllocatedSpace"
    VBRREPOSITORYHOSTEDCONSUMEDSPACE = "VbrRepositoryHostedConsumedSpace"
    VBRREPOSITORYREMOTEALLOCATEDSPACE = "VbrRepositoryRemoteAllocatedSpace"
    VBRREPOSITORYREMOTECONSUMEDSPACE = "VbrRepositoryRemoteConsumedSpace"
    WINDOWSDESKTOPOSHOSTED = "WindowsDesktopOSHosted"
    WINDOWSDESKTOPOSREMOTE = "WindowsDesktopOSRemote"
    WINDOWSSERVEROSHOSTED = "WindowsServerOSHosted"
    WINDOWSSERVEROSREMOTE = "WindowsServerOSRemote"

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