from . import _Azure


class _Compute(_Azure):
    _type = "compute"
    _icon_dir = "resource_images/azure/compute"


class AppServices(_Compute):
    _icon = "app-services.png"


class ApplicationGroup(_Compute):
    _icon = "application-group.png"


class AutomanagedVM(_Compute):
    _icon = "automanaged-vm.png"


class AvailabilitySets(_Compute):
    _icon = "availability-sets.png"


class AzureComputeGalleries(_Compute):
    _icon = "azure-compute-galleries.png"


class AzureSpringApps(_Compute):
    _icon = "azure-spring-apps.png"


class BatchAccounts(_Compute):
    _icon = "batch-accounts.png"


class CitrixVirtualDesktopsEssentials(_Compute):
    _icon = "citrix-virtual-desktops-essentials.png"


class CloudServicesClassic(_Compute):
    _icon = "cloud-services-classic.png"


class CloudServices(_Compute):
    _icon = "cloud-services.png"


class CloudsimpleVirtualMachines(_Compute):
    _icon = "cloudsimple-virtual-machines.png"


class ContainerApps(_Compute):
    _icon = "container-apps.png"


class ContainerInstances(_Compute):
    _icon = "container-instances.png"


class ContainerRegistries(_Compute):
    _icon = "container-registries.png"


class ContainerServicesDeprecated(_Compute):
    _icon = "container-services-deprecated.png"


class DiskEncryptionSets(_Compute):
    _icon = "disk-encryption-sets.png"


class DiskSnapshots(_Compute):
    _icon = "disk-snapshots.png"


class DisksClassic(_Compute):
    _icon = "disks-classic.png"


class DisksSnapshots(_Compute):
    _icon = "disks-snapshots.png"


class Disks(_Compute):
    _icon = "disks.png"


class FunctionApps(_Compute):
    _icon = "function-apps.png"


class HostGroups(_Compute):
    _icon = "host-groups.png"


class HostPools(_Compute):
    _icon = "host-pools.png"


class Hosts(_Compute):
    _icon = "hosts.png"


class ImageDefinitions(_Compute):
    _icon = "image-definitions.png"


class ImageTemplates(_Compute):
    _icon = "image-templates.png"


class ImageVersions(_Compute):
    _icon = "image-versions.png"


class Images(_Compute):
    _icon = "images.png"


class KubernetesServices(_Compute):
    _icon = "kubernetes-services.png"


class MaintenanceConfiguration(_Compute):
    _icon = "maintenance-configuration.png"


class ManagedServiceFabric(_Compute):
    _icon = "managed-service-fabric.png"


class MeshApplications(_Compute):
    _icon = "mesh-applications.png"


class MetricsAdvisor(_Compute):
    _icon = "metrics-advisor.png"


class OsImagesClassic(_Compute):
    _icon = "os-images-classic.png"


class OsImages(_Compute):
    _icon = "os-images.png"


class RestorePointsCollections(_Compute):
    _icon = "restore-points-collections.png"


class RestorePoints(_Compute):
    _icon = "restore-points.png"


class SAPHANAOnAzure(_Compute):
    _icon = "sap-hana-on-azure.png"


class ServiceFabricClusters(_Compute):
    _icon = "service-fabric-clusters.png"


class SharedImageGalleries(_Compute):
    _icon = "shared-image-galleries.png"


class SpringCloud(_Compute):
    _icon = "spring-cloud.png"


class VirtualMachine(_Compute):
    _icon = "virtual-machine.png"


class VirtualMachinesClassic(_Compute):
    _icon = "virtual-machines-classic.png"


class VMClassic(_Compute):
    _icon = "vm-classic.png"


class VMImagesClassic(_Compute):
    _icon = "vm-images-classic.png"


class VMImages(_Compute):
    _icon = "vm-images.png"


class VMLinux(_Compute):
    _icon = "vm-linux.png"


class VMScaleSet(_Compute):
    _icon = "vm-scale-set.png"


class VMScaleSets(_Compute):
    _icon = "vm-scale-sets.png"


class VMWindows(_Compute):
    _icon = "vm-windows.png"


class VM(_Compute):
    _icon = "vm.png"


class Workspaces2(_Compute):
    _icon = "workspaces-2.png"


class Workspaces(_Compute):
    _icon = "workspaces.png"


# Aliases

ACR = ContainerRegistries
AKS = KubernetesServices
VMSS = VMScaleSet

# Terraform aliases
azurerm_app_service = AppServices
azurerm_linux_web_app = AppServices
azurerm_windows_web_app = AppServices
azurerm_availability_set = AvailabilitySets
azurerm_spring_cloud_app = AzureSpringApps
azurerm_batch_account = BatchAccounts
azurerm_batch_pool = BatchAccounts
azurerm_cloud_service = CloudServices
azurerm_container_app = ContainerApps
azurerm_container_group = ContainerInstances
azurerm_container_registry = ContainerRegistries
azurerm_managed_disk = Disks
azurerm_snapshot = DiskSnapshots
azurerm_linux_function_app = FunctionApps
azurerm_windows_function_app = FunctionApps
azurerm_function_app = FunctionApps
azurerm_image = Images
azurerm_kubernetes_cluster = KubernetesServices
azurerm_kubernetes_cluster_node_pool = KubernetesServices
azurerm_service_fabric_cluster = ServiceFabricClusters
azurerm_shared_image_gallery = SharedImageGalleries
azurerm_shared_image = SharedImageGalleries
azurerm_linux_virtual_machine = VirtualMachine
azurerm_windows_virtual_machine = VirtualMachine
azurerm_virtual_machine = VirtualMachine
azurerm_linux_virtual_machine_scale_set = VMScaleSet
azurerm_windows_virtual_machine_scale_set = VMScaleSet
azurerm_virtual_machine_scale_set = VMScaleSet
