azure

package
v0.31.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2026 License: MIT Imports: 198 Imported by: 0

Documentation

Overview

Package azure implements cloud resource discovery for Microsoft Azure via per-service API calls using the Azure SDK for Go (arm* packages), following the two-phase scan pattern.

Index

Constants

View Source
const (
	// Resource Manager
	TypeResourcesResourceGroup = "azure:microsoft.resources:resource-groups"
	TypeSubscription           = "azure:microsoft.resources:subscriptions"
	// Management Groups (tenant scope)
	TypeManagementGroup = "azure:microsoft.management:management-groups"
	// Service quota limits via the unified Microsoft.Quota proxy. One row per
	// (provider-namespace, location, resource) quota; limit-only (no usage) so
	// the resource version chain bumps only on an actual limit change.
	TypeQuotaLimit = "azure:microsoft.quota:quotas"
	// Entra ID (Microsoft Graph — tenant scope)
	TypeEntraUser             = "azure:microsoft.entra:user"
	TypeEntraGroup            = "azure:microsoft.entra:group"
	TypeEntraServicePrincipal = "azure:microsoft.entra:service-principal"
	TypeEntraApplication      = "azure:microsoft.entra:application"
	// Microsoft Defender for Cloud
	TypeSecurityPricing = "azure:microsoft.security:pricings"
	// Authorization (RBAC)
	TypeAuthorizationRoleAssignment = "azure:microsoft.authorization:role-assignments"
	TypeAuthorizationRoleDefinition = "azure:microsoft.authorization:role-definitions"
	// Managed Identity (user-assigned)
	TypeManagedIdentityUserAssigned = "azure:microsoft.managedidentity:user-assigned-identities"
	// Log Analytics
	TypeOpInsightsWorkspace = "azure:microsoft.operationalinsights:workspaces"
	// Container Registry
	TypeContainerRegistryRegistry = "azure:microsoft.containerregistry:registries"
	// Cosmos DB
	TypeCosmosDatabaseAccount = "azure:microsoft.documentdb:database-accounts"
	// Redis Cache
	TypeRedisCache = "azure:microsoft.cache:redis"
	// Container Apps + Container Instances
	TypeAppContainersManagedEnvironment = "azure:microsoft.app:managed-environments"
	TypeAppContainersContainerApp       = "azure:microsoft.app:container-apps"
	TypeContainerInstanceContainerGroup = "azure:microsoft.containerinstance:container-groups"
	// Database flexible servers
	TypePostgreSQLFlexibleServer = "azure:microsoft.dbforpostgresql:flexible-servers"
	TypeMySQLFlexibleServer      = "azure:microsoft.dbformysql:flexible-servers"
	// Databases & analytics (Wave 2)
	TypeAnalysisServicesServer   = "azure:microsoft.analysisservices:servers"
	TypeDatabaseWatcher          = "azure:microsoft.databasewatcher:watchers"
	TypeDataMigrationService     = "azure:microsoft.datamigration:services"
	TypeHorizonDBCluster         = "azure:microsoft.horizondb:clusters"
	TypeMongoCluster             = "azure:microsoft.documentdb:mongo-clusters"
	TypePostgreSQLServerGroupV2  = "azure:microsoft.dbforpostgresql:server-groups-v2"
	TypePowerBIDedicatedCapacity = "azure:microsoft.powerbidedicated:capacities"
	// Hybrid / Arc (Wave 3)
	TypeAzureArcDataController = "azure:microsoft.azurearcdata:data-controllers"
	TypeAzureStackHCICluster   = "azure:microsoft.azurestackhci:clusters"
	// Azure Local (HCI) VM/network/storage family — armazurestackhcivm module.
	TypeAzureStackHCIGalleryImage            = "azure:microsoft.azurestackhci:gallery-images"
	TypeAzureStackHCILogicalNetwork          = "azure:microsoft.azurestackhci:logical-networks"
	TypeAzureStackHCIMarketplaceGalleryImage = "azure:microsoft.azurestackhci:marketplace-gallery-images"
	TypeAzureStackHCINetworkInterface        = "azure:microsoft.azurestackhci:network-interfaces"
	TypeAzureStackHCINetworkSecurityGroup    = "azure:microsoft.azurestackhci:network-security-groups"
	TypeAzureStackHCIStorageContainer        = "azure:microsoft.azurestackhci:storage-containers"
	TypeAzureStackHCIVirtualHardDisk         = "azure:microsoft.azurestackhci:virtual-hard-disks"
	TypeConnectedVMwareVCenter               = "azure:microsoft.connectedvmwarevsphere:vcenters"
	TypeConnectedVMwareCluster               = "azure:microsoft.connectedvmwarevsphere:clusters"
	TypeConnectedVMwareDatastore             = "azure:microsoft.connectedvmwarevsphere:datastores"
	TypeConnectedVMwareHost                  = "azure:microsoft.connectedvmwarevsphere:hosts"
	TypeConnectedVMwareResourcePool          = "azure:microsoft.connectedvmwarevsphere:resource-pools"
	TypeConnectedVMwareVMTemplate            = "azure:microsoft.connectedvmwarevsphere:virtual-machine-templates"
	TypeConnectedVMwareVirtualNetwork        = "azure:microsoft.connectedvmwarevsphere:virtual-networks"
	TypeCustomLocation                       = "azure:microsoft.extendedlocation:custom-locations"
	TypeHybridComputeMachine                 = "azure:microsoft.hybridcompute:machines"
	TypeHybridComputePrivateLinkScope        = "azure:microsoft.hybridcompute:private-link-scopes"
	TypeHybridConnectivityPublicCloud        = "azure:microsoft.hybridconnectivity:public-cloud-connectors"
	TypeHybridContainerVirtualNetwork        = "azure:microsoft.hybridcontainerservice:virtual-networks"
	TypeHybridNetworkDevice                  = "azure:microsoft.hybridnetwork:devices"
	TypeKubernetesConnectedCluster           = "azure:microsoft.kubernetes:connected-clusters"
	TypeResourceConnectorAppliance           = "azure:microsoft.resourceconnector:appliances"
	TypeScVmmServer                          = "azure:microsoft.scvmm:vmm-servers"
	TypeScVmmCloud                           = "azure:microsoft.scvmm:clouds"
	TypeScVmmAvailabilitySet                 = "azure:microsoft.scvmm:availability-sets"
	TypeScVmmVMTemplate                      = "azure:microsoft.scvmm:virtual-machine-templates"
	TypeScVmmVirtualNetwork                  = "azure:microsoft.scvmm:virtual-networks"
	TypeAzureArcDataPostgres                 = "azure:microsoft.azurearcdata:postgres-instances"
	TypeAzureArcDataSQLManagedInstance       = "azure:microsoft.azurearcdata:sql-managed-instances"
	TypeAzureArcDataSQLServerInstance        = "azure:microsoft.azurearcdata:sql-server-instances"
	TypeConnectedCacheEnterpriseCustomer     = "azure:microsoft.connectedcache:enterprise-mcc-customers"
	TypeConnectedCacheIspCustomer            = "azure:microsoft.connectedcache:isp-customers"
	// Networking & telco/edge (Wave 4)
	TypeEdgeZonesExtendedZone              = "azure:microsoft.edgezones:extended-zones"
	TypeHybridNetworkFunction              = "azure:microsoft.hybridnetwork:network-functions"
	TypeManagedNetworkFabric               = "azure:microsoft.managednetworkfabric:network-fabrics"
	TypeNetworkCloudCluster                = "azure:microsoft.networkcloud:clusters"
	TypeNetworkFunctionTrafficCollector    = "azure:microsoft.networkfunction:azure-traffic-collectors"
	TypePeeringPeering                     = "azure:microsoft.peering:peerings"
	TypeServiceNetworkingTrafficController = "azure:microsoft.servicenetworking:traffic-controllers"
	// Compute & scale (Wave 5)
	TypeComputeFleet                = "azure:microsoft.azurefleet:fleets"
	TypeLargeInstance               = "azure:microsoft.azurelargeinstance:azure-large-instances"
	TypeBareMetalInstance           = "azure:microsoft.baremetalinfrastructure:bare-metal-instances"
	TypeDevOpsInfrastructurePool    = "azure:microsoft.devopsinfrastructure:pools"
	TypeSQLVirtualMachine           = "azure:microsoft.sqlvirtualmachine:sql-virtual-machines"
	TypeStandbyVMPool               = "azure:microsoft.standbypool:standby-virtual-machine-pools"
	TypeStandbyContainerGroupPool   = "azure:microsoft.standbypool:standby-container-group-pools"
	TypeWorkloadsSAPVirtualInstance = "azure:microsoft.workloads:sap-virtual-instances"
	// IoT / device / edge-order (Wave 6)
	TypeDeviceRegistryAsset         = "azure:microsoft.deviceregistry:assets"
	TypeDeviceUpdateAccount         = "azure:microsoft.deviceupdate:accounts"
	TypeEdgeOrderItem               = "azure:microsoft.edgeorder:order-items"
	TypeIoTCentralApp               = "azure:microsoft.iotcentral:iot-apps"
	TypeIoTFirmwareDefenseWorkspace = "azure:microsoft.iotfirmwaredefense:workspaces"
	TypeIoTOperationsInstance       = "azure:microsoft.iotoperations:instances"
	// AI / ML / media / test (Wave 7)
	TypeHealthBot                      = "azure:microsoft.healthbot:health-bots"
	TypeHealthDataAIDeidService        = "azure:microsoft.healthdataaiservices:deid-services"
	TypeLoadTest                       = "azure:microsoft.loadtestservice:load-tests"
	TypeOnlineExperimentationWorkspace = "azure:microsoft.onlineexperimentation:workspaces"
	TypePlaywrightAccount              = "azure:microsoft.azureplaywrightservice:accounts"
	TypeQuantumWorkspace               = "azure:microsoft.quantum:workspaces"
	// Dev/test, integration, mgmt, security, misc (Wave 8)
	TypeAPICenterService              = "azure:microsoft.apicenter:services"
	TypeAttestationProvider           = "azure:microsoft.attestation:attestation-providers"
	TypeAutomanageConfigProfile       = "azure:microsoft.automanage:configuration-profiles"
	TypeAzureSphereCatalog            = "azure:microsoft.azuresphere:catalogs"
	TypeCertificateOrder              = "azure:microsoft.certificateregistration:certificate-orders"
	TypeConfidentialLedger            = "azure:microsoft.confidentialledger:ledgers"
	TypeDevCenter                     = "azure:microsoft.devcenter:dev-centers"
	TypeDevHubWorkflow                = "azure:microsoft.devhub:workflows"
	TypeDevTestLab                    = "azure:microsoft.devtestlab:labs"
	TypeDomain                        = "azure:microsoft.domainregistration:domains"
	TypeDurableTaskScheduler          = "azure:microsoft.durabletask:schedulers"
	TypeFabricCapacity                = "azure:microsoft.fabric:capacities"
	TypeFluidRelayServer              = "azure:microsoft.fluidrelay:fluid-relay-servers"
	TypeGraphServicesAccount          = "azure:microsoft.graphservices:accounts"
	TypeDedicatedHsm                  = "azure:microsoft.hardwaresecuritymodules:dedicated-hsms"
	TypeIntegrationSpace              = "azure:microsoft.integrationspaces:spaces"
	TypeLabServicesLab                = "azure:microsoft.labservices:labs"
	TypeMaintenanceConfiguration      = "azure:microsoft.maintenance:maintenance-configurations"
	TypeMigrateAssessmentProject      = "azure:microsoft.migrate:assessment-projects"
	TypeNotificationHubNamespace      = "azure:microsoft.notificationhubs:namespaces"
	TypePowerPlatformEnterprisePolicy = "azure:microsoft.powerplatform:enterprise-policies"
	TypeOpenShiftCluster              = "azure:microsoft.redhatopenshift:openshift-clusters"
	TypeSpringbootSite                = "azure:microsoft.offazurespringboot:springboot-sites"
	// Verify-or-drop keepers (genuine user resources from the bucket)
	TypeManagedServicesRegistrationDefinition = "azure:microsoft.managedservices:registration-definitions"
	TypePolicyInsightsRemediation             = "azure:microsoft.policyinsights:remediations"
	TypePolicyInsightsAttestation             = "azure:microsoft.policyinsights:attestations"
	// Private Endpoints
	TypeNetworkPrivateEndpoint = "azure:microsoft.network:private-endpoints"
	// Enterprise networking — ExpressRoute + Virtual WAN + VPN
	TypeNetworkExpressRouteCircuit = "azure:microsoft.network:express-route-circuits"
	TypeNetworkVirtualWAN          = "azure:microsoft.network:virtual-wans"
	TypeNetworkVirtualHub          = "azure:microsoft.network:virtual-hubs"
	TypeNetworkVPNSite             = "azure:microsoft.network:vpn-sites"
	TypeNetworkVPNGateway          = "azure:microsoft.network:vpn-gateways"
	TypeNetworkVirtualNetworkGW    = "azure:microsoft.network:virtual-network-gateways"
	TypeNetworkExpressRouteGateway = "azure:microsoft.network:express-route-gateways"
	// Messaging — Event Hubs + Service Bus
	TypeEventHubNamespace   = "azure:microsoft.eventhub:namespaces"
	TypeServiceBusNamespace = "azure:microsoft.servicebus:namespaces"
	// Eventing — Event Grid
	TypeEventGridTopic             = "azure:microsoft.eventgrid:topics"
	TypeEventGridSystemTopic       = "azure:microsoft.eventgrid:system-topics"
	TypeEventGridDomain            = "azure:microsoft.eventgrid:domains"
	TypeEventGridEventSubscription = "azure:microsoft.eventgrid:event-subscriptions"
	// L7 ingress
	TypeNetworkApplicationGateway    = "azure:microsoft.network:application-gateways"
	TypeNetworkTrafficManagerProfile = "azure:microsoft.network:traffic-manager-profiles"
	TypeCDNProfile                   = "azure:microsoft.cdn:profiles"
	TypeAPIManagementService         = "azure:microsoft.apimanagement:service"
	// Analytics — Databricks + Synapse
	TypeDatabricksWorkspace = "azure:microsoft.databricks:workspaces"
	TypeSynapseWorkspace    = "azure:microsoft.synapse:workspaces"
	TypeDataFactoryFactory  = "azure:microsoft.datafactory:factories"
	// Integration — Logic Apps
	TypeLogicWorkflow = "azure:microsoft.logic:workflows"
	// Azure Policy
	TypePolicyDefinition    = "azure:microsoft.authorization:policy-definitions"
	TypePolicySetDefinition = "azure:microsoft.authorization:policy-set-definitions"
	TypePolicyAssignment    = "azure:microsoft.authorization:policy-assignments"
	// Public IP (already covered by network scanner — no const needed beyond the existing one above)
	// DNS — public + private zones + vnet links
	TypeDNSZone                = "azure:microsoft.network:dns-zones"
	TypeDNSPrivateZone         = "azure:microsoft.network:private-dns-zones"
	TypeDNSPrivateZoneVNetLink = "azure:microsoft.network:private-dns-zones:virtual-network-links"
	TypeDNSRecordSet           = "azure:microsoft.network:dns-zones:record-set"
	TypeDNSPrivateRecordSet    = "azure:microsoft.network:private-dns-zones:record-set"
	// Compute — vms
	TypeComputeVirtualMachine          = "azure:microsoft.compute:virtual-machines"
	TypeComputeVMExtension             = "azure:microsoft.compute:virtual-machines:extensions"
	TypeComputeAvailabilitySet         = "azure:microsoft.compute:availability-sets"
	TypeComputeProximityPlacementGroup = "azure:microsoft.compute:proximity-placement-groups"
	TypeComputeSSHPublicKey            = "azure:microsoft.compute:ssh-public-keys"
	TypeComputeRestorePointCollection  = "azure:microsoft.compute:restore-point-collections"
	// Compute — disks
	TypeComputeManagedDisk       = "azure:microsoft.compute:disks"
	TypeComputeSnapshot          = "azure:microsoft.compute:snapshots"
	TypeComputeDiskEncryptionSet = "azure:microsoft.compute:disk-encryption-sets"
	TypeComputeDiskAccess        = "azure:microsoft.compute:disk-accesses"
	// Compute — images
	TypeComputeImage = "azure:microsoft.compute:images"
	// Compute — vmss
	TypeComputeVMSS            = "azure:microsoft.compute:virtual-machine-scale-sets"
	TypeComputeVMSSExtension   = "azure:microsoft.compute:virtual-machine-scale-sets:extensions"
	TypeComputeVMSSVM          = "azure:microsoft.compute:virtual-machine-scale-sets:virtual-machines"
	TypeComputeVMSSVMExtension = "azure:microsoft.compute:virtual-machine-scale-sets:virtual-machines:extensions"
	// Compute — galleries
	TypeComputeGallery                   = "azure:microsoft.compute:galleries"
	TypeComputeGalleryImage              = "azure:microsoft.compute:galleries:images"
	TypeComputeGalleryImageVersion       = "azure:microsoft.compute:galleries:images:versions"
	TypeComputeGalleryApplication        = "azure:microsoft.compute:galleries:applications"
	TypeComputeGalleryApplicationVersion = "azure:microsoft.compute:galleries:applications:versions"
	TypeComputeGalleryInVMACP            = "azure:microsoft.compute:galleries:in-vm-access-control-profiles"
	TypeComputeGalleryInVMACPVersion     = "azure:microsoft.compute:galleries:in-vm-access-control-profiles:versions"
	// Compute — dedicated
	TypeComputeHostGroup                = "azure:microsoft.compute:host-groups"
	TypeComputeDedicatedHost            = "azure:microsoft.compute:host-groups:hosts"
	TypeComputeCapacityReservationGroup = "azure:microsoft.compute:capacity-reservation-groups"
	TypeComputeCapacityReservation      = "azure:microsoft.compute:capacity-reservation-groups:capacity-reservations"
	// Compute — cloud-services
	TypeComputeCloudService             = "azure:microsoft.compute:cloud-services"
	TypeComputeCloudServiceRole         = "azure:microsoft.compute:cloud-services:roles"
	TypeComputeCloudServiceRoleInstance = "azure:microsoft.compute:cloud-services:role-instances"
	// Network
	TypeNetworkVirtualNetwork  = "azure:microsoft.network:virtual-networks"
	TypeNetworkSubnet          = "azure:microsoft.network:virtual-networks:subnets"
	TypeNetworkSecurityGroup   = "azure:microsoft.network:network-security-groups"
	TypeNetworkPublicIPAddress = "azure:microsoft.network:public-ip-addresses"
	// Container Service (AKS)
	TypeContainerServiceManagedCluster = "azure:microsoft.containerservice:managed-clusters"
	// Key Vault
	TypeKeyVaultVault = "azure:microsoft.keyvault:vaults"
	// Storage
	TypeStorageStorageAccount = "azure:microsoft.storage:storage-accounts"
	// Storage & data-plane adjacencies (Wave 1)
	TypeDataBoxJob                = "azure:microsoft.databox:jobs"
	TypeDataBoxEdgeDevice         = "azure:microsoft.databoxedge:data-box-edge-devices"
	TypeDataShareAccount          = "azure:microsoft.datashare:accounts"
	TypeElasticSan                = "azure:microsoft.elasticsan:elastic-sans"
	TypeFileSharesFileShare       = "azure:microsoft.fileshares:file-shares"
	TypeStorageActionsTask        = "azure:microsoft.storageactions:storage-tasks"
	TypeStorageCacheCache         = "azure:microsoft.storagecache:caches"
	TypeStorageDiscoveryWorkspace = "azure:microsoft.storagediscovery:storage-discovery-workspaces"
	TypeStorageMover              = "azure:microsoft.storagemover:storage-movers"
	// SQL — servers and databases
	TypeSQLServer   = "azure:microsoft.sql:servers"
	TypeSQLDatabase = "azure:microsoft.sql:servers:databases"
	// SQL — subscription-wide resources
	TypeSQLInstancePool   = "azure:microsoft.sql:instance-pools"
	TypeSQLVirtualCluster = "azure:microsoft.sql:virtual-clusters"
	// SQL — managed instances and sub-resources
	TypeSQLManagedInstance            = "azure:microsoft.sql:managed-instances"
	TypeSQLManagedDatabase            = "azure:microsoft.sql:managed-instances:databases"
	TypeSQLManagedInstanceAdmin       = "azure:microsoft.sql:managed-instances:administrators"
	TypeSQLManagedInstanceVA          = "azure:microsoft.sql:managed-instances:vulnerability-assessments"
	TypeSQLManagedDatabaseVA          = "azure:microsoft.sql:managed-instances:databases:vulnerability-assessments"
	TypeSQLManagedInstanceKey         = "azure:microsoft.sql:managed-instances:keys"
	TypeSQLManagedInstanceEP          = "azure:microsoft.sql:managed-instances:encryption-protector"
	TypeSQLManagedInstancePEC         = "azure:microsoft.sql:managed-instances:private-endpoint-connections"
	TypeSQLManagedServerSecurityAlert = "azure:microsoft.sql:managed-instances:security-alert-policies"
	TypeSQLManagedDatabaseTDE         = "azure:microsoft.sql:managed-instances:databases:transparent-data-encryption"
	TypeSQLManagedDatabaseSecAlert    = "azure:microsoft.sql:managed-instances:databases:security-alert-policies"
	// SQL — server sub-resources
	TypeSQLServerKey                 = "azure:microsoft.sql:servers:keys"
	TypeSQLEncryptionProtector       = "azure:microsoft.sql:servers:encryption-protector"
	TypeSQLServerAdministrator       = "azure:microsoft.sql:servers:administrators"
	TypeSQLServerAuditingSettings    = "azure:microsoft.sql:servers:auditing-settings"
	TypeSQLServerExtAuditingSettings = "azure:microsoft.sql:servers:extended-auditing-settings"
	TypeSQLServerDevOpsAuditSettings = "azure:microsoft.sql:servers:dev-ops-audit-settings"
	TypeSQLServerSecurityAlert       = "azure:microsoft.sql:servers:security-alert-policies"
	TypeSQLServerAdvancedThreatProt  = "azure:microsoft.sql:servers:advanced-threat-protection-settings"
	TypeSQLServerVulnAssessment      = "azure:microsoft.sql:servers:vulnerability-assessments"
	TypeSQLElasticPool               = "azure:microsoft.sql:servers:elasticpools"
	TypeSQLFailoverGroup             = "azure:microsoft.sql:servers:failover-groups"
	TypeSQLServerDNSAlias            = "azure:microsoft.sql:servers:dns-aliases"
	TypeSQLVirtualNetworkRule        = "azure:microsoft.sql:servers:virtual-network-rules"
	TypeSQLJobAgent                  = "azure:microsoft.sql:servers:job-agents"
	TypeSQLSyncAgent                 = "azure:microsoft.sql:servers:sync-agents"
	TypeSQLRestorableDroppedDB       = "azure:microsoft.sql:servers:restorable-dropped-databases"
	// SQL — database sub-resources
	TypeSQLDBTransparentDataEnc = "azure:microsoft.sql:servers:databases:transparent-data-encryption"
	TypeSQLDBSecurityAlert      = "azure:microsoft.sql:servers:databases:security-alert-policies"
	TypeSQLDBAdvancedThreatProt = "azure:microsoft.sql:servers:databases:advanced-threat-protection-settings"
	TypeSQLDBAuditingSettings   = "azure:microsoft.sql:servers:databases:auditing-settings"
	TypeSQLDBVulnAssessment     = "azure:microsoft.sql:servers:databases:vulnerability-assessments"
	TypeSQLSyncGroup            = "azure:microsoft.sql:servers:databases:sync-groups"
	TypeSQLReplicationLink      = "azure:microsoft.sql:servers:databases:replication-links"
	TypeSQLWorkloadGroup        = "azure:microsoft.sql:servers:databases:workload-groups"
	TypeSQLGeoBackupPolicy      = "azure:microsoft.sql:servers:databases:geo-backup-policies"
	TypeSQLLedgerDigestUpload   = "azure:microsoft.sql:servers:databases:ledger-digest-uploads"
	// App Service / Microsoft.Web
	TypeAppServiceServerFarm               = "azure:microsoft.web:server-farms"
	TypeAppServiceSite                     = "azure:microsoft.web:sites"
	TypeAppServiceSiteSlot                 = "azure:microsoft.web:sites:slots"
	TypeAppServiceEnvironment              = "azure:microsoft.web:hosting-environments"
	TypeAppServiceEnvironmentWorkerPool    = "azure:microsoft.web:hosting-environments:worker-pools"
	TypeAppServiceEnvironmentMultiRolePool = "azure:microsoft.web:hosting-environments:multi-role-pools"
	TypeAppServiceKubeEnvironment          = "azure:microsoft.web:kube-environments"
	TypeAppServiceStaticSite               = "azure:microsoft.web:static-sites"
	TypeAppServiceStaticSiteBuild          = "azure:microsoft.web:static-sites:builds"
	TypeAppServiceCertificate              = "azure:microsoft.web:certificates"
	// Cognitive Services (Azure AI / OpenAI)
	TypeCognitiveServicesAccount = "azure:microsoft.cognitiveservices:accounts"
	// App Configuration
	TypeAppConfigurationStore = "azure:microsoft.appconfiguration:configuration-stores"
	// Azure AI Search
	TypeSearchService = "azure:microsoft.search:search-services"
	// Recovery Services (Backup / Site Recovery vaults)
	TypeRecoveryServicesVault = "azure:microsoft.recoveryservices:vaults"
	// Data Protection (Backup vaults)
	TypeDataProtectionBackupVault = "azure:microsoft.dataprotection:backup-vaults"
	// Batch
	TypeBatchAccount = "azure:microsoft.batch:batch-accounts"
	// Azure Data Explorer (Kusto)
	TypeKustoCluster = "azure:microsoft.kusto:clusters"
	// Azure NetApp Files
	TypeNetAppAccount = "azure:microsoft.netapp:net-app-accounts"
	// Azure Spring Apps
	TypeAppPlatformService = "azure:microsoft.appplatform:spring"
	// Azure Machine Learning
	TypeMachineLearningWorkspace = "azure:microsoft.machinelearningservices:workspaces"
	// Automation
	TypeAutomationAccount = "azure:microsoft.automation:automation-accounts"
	// SignalR / Web PubSub
	TypeSignalR   = "azure:microsoft.signalrservice:signalr"
	TypeWebPubSub = "azure:microsoft.signalrservice:web-pub-sub"
	// Stream Analytics
	TypeStreamAnalyticsJob = "azure:microsoft.streamanalytics:streaming-jobs"
	// HDInsight
	TypeHDInsightCluster = "azure:microsoft.hdinsight:clusters"
	// IoT Hub
	TypeIoTHub = "azure:microsoft.devices:iot-hubs"
	// Azure Virtual Desktop
	TypeDVCHostPool         = "azure:microsoft.desktopvirtualization:host-pools"
	TypeDVCApplicationGroup = "azure:microsoft.desktopvirtualization:application-groups"
	TypeDVCWorkspace        = "azure:microsoft.desktopvirtualization:workspaces"
	TypeDVCScalingPlan      = "azure:microsoft.desktopvirtualization:scaling-plans"
	// Service Fabric
	TypeServiceFabricCluster = "azure:microsoft.servicefabric:clusters"
	// Healthcare APIs
	TypeHealthcareAPIsService   = "azure:microsoft.healthcareapis:services"
	TypeHealthcareAPIsWorkspace = "azure:microsoft.healthcareapis:workspaces"
	// Azure VMware Solution
	TypeAVSPrivateCloud = "azure:microsoft.avs:private-clouds"
	// Azure Digital Twins
	TypeDigitalTwinsInstance = "azure:microsoft.digitaltwins:digital-twins-instances"
	// Relay
	TypeRelayNamespace = "azure:microsoft.relay:namespaces"
	// Azure Maps
	TypeMapsAccount = "azure:microsoft.maps:accounts"
	// Communication Services
	TypeCommunicationService      = "azure:microsoft.communication:communication-services"
	TypeCommunicationEmailService = "azure:microsoft.communication:email-services"
	// Storage Sync (Azure File Sync)
	TypeStorageSyncService = "azure:microsoft.storagesync:storage-sync-services"
	// Bot Service
	TypeBotServiceBot = "azure:microsoft.botservice:bot-services"
	// Microsoft Purview
	TypePurviewAccount = "azure:microsoft.purview:accounts"
	// Azure Managed Grafana
	TypeDashboardGrafana = "azure:microsoft.dashboard:grafana"
	// Azure Chaos Studio
	TypeChaosExperiment = "azure:microsoft.chaos:experiments"
	// Coverage sweep: data-services
	TypeRedisEnterpriseCluster          = "azure:microsoft.cache:redis-enterprise"
	TypeCognitiveCommitmentPlan         = "azure:microsoft.cognitiveservices:commitment-plans"
	TypeDatabricksAccessConnector       = "azure:microsoft.databricks:access-connectors"
	TypeDataProtectionResourceGuard     = "azure:microsoft.dataprotection:resource-guards"
	TypeDataReplicationFabric           = "azure:microsoft.datareplication:replication-fabrics"
	TypeDataReplicationVault            = "azure:microsoft.datareplication:replication-vaults"
	TypeCosmosCassandraCluster          = "azure:microsoft.documentdb:cassandra-clusters"
	TypeCosmosRestorableDatabaseAccount = "azure:microsoft.documentdb:restorable-database-accounts"
	TypeEventGridNamespace              = "azure:microsoft.eventgrid:namespaces"
	TypeEventGridPartnerConfiguration   = "azure:microsoft.eventgrid:partner-configurations"
	TypeEventGridPartnerNamespace       = "azure:microsoft.eventgrid:partner-namespaces"
	TypeEventGridPartnerRegistration    = "azure:microsoft.eventgrid:partner-registrations"
	TypeEventGridPartnerTopic           = "azure:microsoft.eventgrid:partner-topics"
	TypeEventHubCluster                 = "azure:microsoft.eventhub:clusters"
	TypeHorizonDBParameterGroup         = "azure:microsoft.horizondb:parameter-groups"
	TypeKeyVaultManagedHSM              = "azure:microsoft.keyvault:managed-hsms"
	TypeMachineLearningRegistry         = "azure:microsoft.machinelearningservices:registries"
	TypeOpInsightsCluster               = "azure:microsoft.operationalinsights:clusters"
	TypeOpsManagementSolution           = "azure:microsoft.operationsmanagement:solutions"
	TypeStorageStorageTask              = "azure:microsoft.storage:storage-tasks"
	TypeStreamAnalyticsCluster          = "azure:microsoft.streamanalytics:clusters"
	TypeSynapsePrivateLinkHub           = "azure:microsoft.synapse:private-link-hubs"

	// Coverage sweep: network (microsoft.network/* via armnetwork/v6)
	TypeNetworkWAFPolicy                 = "azure:microsoft.network:application-gateway-web-application-firewall-policies"
	TypeNetworkApplicationSecurityGroup  = "azure:microsoft.network:application-security-groups"
	TypeNetworkAzureFirewallFqdnTag      = "azure:microsoft.network:azure-firewall-fqdn-tags"
	TypeNetworkAzureFirewall             = "azure:microsoft.network:azure-firewalls"
	TypeNetworkAzureWebCategory          = "azure:microsoft.network:azure-web-categories"
	TypeNetworkBastionHost               = "azure:microsoft.network:bastion-hosts"
	TypeNetworkBgpServiceCommunity       = "azure:microsoft.network:bgp-service-communities"
	TypeNetworkConnection                = "azure:microsoft.network:connections"
	TypeNetworkCustomIPPrefix            = "azure:microsoft.network:custom-ip-prefixes"
	TypeNetworkDdosProtectionPlan        = "azure:microsoft.network:ddos-protection-plans"
	TypeNetworkDscpConfiguration         = "azure:microsoft.network:dscp-configurations"
	TypeNetworkExpressRoutePort          = "azure:microsoft.network:express-route-ports"
	TypeNetworkExpressRoutePortsLocation = "azure:microsoft.network:express-route-ports-locations"
	TypeNetworkExpressRouteServiceProv   = "azure:microsoft.network:express-route-service-providers"
	TypeNetworkFirewallPolicy            = "azure:microsoft.network:firewall-policies"
	TypeNetworkIPAllocation              = "azure:microsoft.network:ip-allocations"
	TypeNetworkIPGroup                   = "azure:microsoft.network:ip-groups"
	TypeNetworkLoadBalancer              = "azure:microsoft.network:load-balancers"
	TypeNetworkLocalNetworkGateway       = "azure:microsoft.network:local-network-gateways"
	TypeNetworkNatGateway                = "azure:microsoft.network:nat-gateways"
	TypeNetworkInterface                 = "azure:microsoft.network:network-interfaces"
	TypeNetworkManagerConnection         = "azure:microsoft.network:network-manager-connections"
	TypeNetworkManager                   = "azure:microsoft.network:network-managers"
	TypeNetworkProfile                   = "azure:microsoft.network:network-profiles"
	TypeNetworkVirtualAppliance          = "azure:microsoft.network:network-virtual-appliances"
	TypeNetworkWatcher                   = "azure:microsoft.network:network-watchers"
	TypeNetworkP2SVPNGateway             = "azure:microsoft.network:p2s-vpn-gateways"
	TypeNetworkPrivateLinkService        = "azure:microsoft.network:private-link-services"
	TypeNetworkPublicIPPrefix            = "azure:microsoft.network:public-ip-prefixes"
	TypeNetworkRouteFilter               = "azure:microsoft.network:route-filters"
	TypeNetworkRouteTable                = "azure:microsoft.network:route-tables"
	TypeNetworkSecurityPartnerProvider   = "azure:microsoft.network:security-partner-providers"
	TypeNetworkServiceEndpointPolicy     = "azure:microsoft.network:service-endpoint-policies"
	TypeNetworkVirtualNetworkTap         = "azure:microsoft.network:virtual-network-taps"
	TypeNetworkVirtualRouter             = "azure:microsoft.network:virtual-routers"
	TypeNetworkVPNServerConfiguration    = "azure:microsoft.network:vpn-server-configurations"
	// Coverage sweep: network — DNS resolver family (microsoft.network/* via armdnsresolver)
	TypeNetworkDNSForwardingRuleset  = "azure:microsoft.network:dns-forwarding-rulesets"
	TypeNetworkDNSResolverDomainList = "azure:microsoft.network:dns-resolver-domain-lists"
	TypeNetworkDNSResolverPolicy     = "azure:microsoft.network:dns-resolver-policies"
	TypeNetworkDNSResolver           = "azure:microsoft.network:dns-resolvers"
	// Coverage sweep: network — Front Door / WAF / network-experiment (microsoft.network/* via armfrontdoor)
	TypeNetworkFrontDoor                  = "azure:microsoft.network:front-doors"
	TypeNetworkFrontDoorWAFManagedRuleset = "azure:microsoft.network:front-door-web-application-firewall-managed-rulesets"
	TypeNetworkFrontDoorWAFPolicy         = "azure:microsoft.network:front-door-web-application-firewall-policies"
	TypeNetworkExperimentProfile          = "azure:microsoft.network:network-experiment-profiles"

	// Coverage sweep: telco/edge
	TypeManagedNetworkFabricACL             = "azure:microsoft.managednetworkfabric:access-control-lists"
	TypeManagedNetworkFabricInternetGwRule  = "azure:microsoft.managednetworkfabric:internet-gateway-rules"
	TypeManagedNetworkFabricInternetGateway = "azure:microsoft.managednetworkfabric:internet-gateways"
	TypeManagedNetworkFabricIPCommunity     = "azure:microsoft.managednetworkfabric:ip-communities"
	TypeManagedNetworkFabricIPExtCommunity  = "azure:microsoft.managednetworkfabric:ip-extended-communities"
	TypeManagedNetworkFabricIPPrefix        = "azure:microsoft.managednetworkfabric:ip-prefixes"
	TypeManagedNetworkFabricL2IsolationDom  = "azure:microsoft.managednetworkfabric:l2-isolation-domains"
	TypeManagedNetworkFabricL3IsolationDom  = "azure:microsoft.managednetworkfabric:l3-isolation-domains"
	TypeManagedNetworkFabricNeighborGroup   = "azure:microsoft.managednetworkfabric:neighbor-groups"
	TypeManagedNetworkFabricNetworkDevice   = "azure:microsoft.managednetworkfabric:network-devices"
	TypeManagedNetworkFabricController      = "azure:microsoft.managednetworkfabric:network-fabric-controllers"
	TypeManagedNetworkFabricPacketBroker    = "azure:microsoft.managednetworkfabric:network-packet-brokers"
	TypeManagedNetworkFabricRack            = "azure:microsoft.managednetworkfabric:network-racks"
	TypeManagedNetworkFabricNetworkTapRule  = "azure:microsoft.managednetworkfabric:network-tap-rules"
	TypeManagedNetworkFabricNetworkTap      = "azure:microsoft.managednetworkfabric:network-taps"
	TypeManagedNetworkFabricRoutePolicy     = "azure:microsoft.managednetworkfabric:route-policies"

	TypeNetworkCloudBareMetalMachine  = "azure:microsoft.networkcloud:bare-metal-machines"
	TypeNetworkCloudServicesNetwork   = "azure:microsoft.networkcloud:cloud-services-networks"
	TypeNetworkCloudClusterManager    = "azure:microsoft.networkcloud:cluster-managers"
	TypeNetworkCloudKubernetesCluster = "azure:microsoft.networkcloud:kubernetes-clusters"
	TypeNetworkCloudL2Network         = "azure:microsoft.networkcloud:l2-networks"
	TypeNetworkCloudL3Network         = "azure:microsoft.networkcloud:l3-networks"
	TypeNetworkCloudRack              = "azure:microsoft.networkcloud:racks"
	TypeNetworkCloudRackSKU           = "azure:microsoft.networkcloud:rack-skus"
	TypeNetworkCloudStorageAppliance  = "azure:microsoft.networkcloud:storage-appliances"
	TypeNetworkCloudTrunkedNetwork    = "azure:microsoft.networkcloud:trunked-networks"
	TypeNetworkCloudVirtualMachine    = "azure:microsoft.networkcloud:virtual-machines"
	TypeNetworkCloudVolume            = "azure:microsoft.networkcloud:volumes"

	TypeEdgeOrderAddress = "azure:microsoft.edgeorder:addresses"
	TypeEdgeOrderOrder   = "azure:microsoft.edgeorder:orders"

	TypePeeringPeerAsn        = "azure:microsoft.peering:peer-asns"
	TypePeeringPeeringService = "azure:microsoft.peering:peering-services"

	TypeEdgeMarketplaceOffer     = "azure:microsoft.edgemarketplace:offers"
	TypeEdgeMarketplacePublisher = "azure:microsoft.edgemarketplace:publishers"
	// Coverage sweep: app/compute/misc
	TypeAppContainersConnectedEnvironment  = "azure:microsoft.app:connected-environments"
	TypeAppContainersJob                   = "azure:microsoft.app:jobs"
	TypeAppContainersSessionPool           = "azure:microsoft.app:session-pools"
	TypeAutomanageBestPractice             = "azure:microsoft.automanage:best-practices"
	TypeAutomanageConfigProfileAssignment  = "azure:microsoft.automanage:configuration-profile-assignments"
	TypeAutomanageServicePrincipal         = "azure:microsoft.automanage:service-principals"
	TypeLargeInstanceStorage               = "azure:microsoft.azurelargeinstance:azure-large-storage-instances"
	TypeResilienceUsagePlan                = "azure:microsoft.azureresiliencemanagement:usage-plans"
	TypeBlueprintBlueprint                 = "azure:microsoft.blueprint:blueprints"
	TypeBlueprintAssignment                = "azure:microsoft.blueprint:blueprint-assignments"
	TypeCDNWAFPolicy                       = "azure:microsoft.cdn:cdn-web-application-firewall-policies"
	TypeCloudHealthHealthModel             = "azure:microsoft.cloudhealth:health-models"
	TypeCodeSigningAccount                 = "azure:microsoft.codesigning:codesigning-accounts"
	TypeContainerServiceFleet              = "azure:microsoft.containerservice:fleets"
	TypeContainerServiceSnapshot           = "azure:microsoft.containerservice:snapshots"
	TypeCustomProvidersResourceProvider    = "azure:microsoft.customproviders:resource-providers"
	TypeDependencyMapMap                   = "azure:microsoft.dependencymap:maps"
	TypeDesktopVirtAppAttachPackage        = "azure:microsoft.desktopvirtualization:app-attach-packages"
	TypeDevCenterNetworkConnection         = "azure:microsoft.devcenter:network-connections"
	TypeDevCenterProject                   = "azure:microsoft.devcenter:projects"
	TypeDeviceRegistryAssetEndpointProfile = "azure:microsoft.deviceregistry:asset-endpoint-profiles"
	TypeDeviceRegistryBillingContainer     = "azure:microsoft.deviceregistry:billing-containers"
	TypeDevicesProvisioningService         = "azure:microsoft.devices:provisioning-services"
	TypeDevTestLabSchedule                 = "azure:microsoft.devtestlab:schedules"
	TypeElasticMonitor                     = "azure:microsoft.elastic:monitors"
	TypeLabServicesLabPlan                 = "azure:microsoft.labservices:lab-plans"
	TypeLogicIntegrationAccount            = "azure:microsoft.logic:integration-accounts"
	TypeLogicIntegrationServiceEnv         = "azure:microsoft.logic:integration-service-environments"
	TypeMaintenanceConfigAssignment        = "azure:microsoft.maintenance:configuration-assignments"
	TypeMaintenancePublicConfiguration     = "azure:microsoft.maintenance:public-maintenance-configurations"
	TypeManagedServicesMarketplaceRegDef   = "azure:microsoft.managedservices:marketplace-registration-definitions"
	TypeManagedServicesRegistrationAssign  = "azure:microsoft.managedservices:registration-assignments"
	TypeOrbitalGeoCatalog                  = "azure:microsoft.orbital:geo-catalogs"
	TypePowerBIDedicatedAutoScaleVCore     = "azure:microsoft.powerbidedicated:auto-scale-vcores"
	TypePowerPlatformAccount               = "azure:microsoft.powerplatform:accounts"
	TypeSaaSApplication                    = "azure:microsoft.saas:applications"
	TypeSaaSResource                       = "azure:microsoft.saas:resources"
	TypeServiceFabricManagedCluster        = "azure:microsoft.servicefabric:managed-clusters"
	TypeSolutionsApplicationDefinition     = "azure:microsoft.solutions:application-definitions"
	TypeSolutionsApplication               = "azure:microsoft.solutions:applications"
	TypeSolutionsJitRequest                = "azure:microsoft.solutions:jit-requests"
	TypeSQLVirtualMachineGroup             = "azure:microsoft.sqlvirtualmachine:sql-virtual-machine-groups"
	TypeVMImageBuilderImageTemplate        = "azure:microsoft.virtualmachineimages:image-templates"
	TypeWorkloadsMonitor                   = "azure:microsoft.workloads:monitors"
)

Resource type constants for every Azure resource type this provider discovers. Constants prevent typos in scanner and resolver files — a mismatched string would create orphan resources with an undeclared type.

Variables

This section is empty.

Functions

func CollectEmits

func CollectEmits() []coverage.TypeDecl

CollectEmits returns the deduped union of every emits decl registered across the Azure package. Consumed by the coverage.Provider impl.

Types

type EdgeDecl

type EdgeDecl struct {
	Source string // disco type emitting the edge (the resolver's source iteration type)
	Target string // disco type the edge points at
	Kind   string // store.Rel* constant — "attached-to", "uses", "routes-to", etc.
}

EdgeDecl declares one relationship edge a resolver upserts. Resolvers list every distinct (source, target, kind) triple so audit + coverage tooling can reason about resolver coverage without needing both endpoints scanned in the current subscription.

func CollectResolverEdges

func CollectResolverEdges() []EdgeDecl

CollectResolverEdges returns every EdgeDecl declared by every registered resolver, deduplicated on (source, target, kind). Order is stable for diff-friendly output.

type ResolverInfo

type ResolverInfo struct {
	Name      string
	EdgeCount int
	Services  []string
}

ResolverInfo summarises one registered resolver for coverage tooling: unqualified function name, count of declared EdgeDecls, and the distinct disco service segments touched (Source+Target combined). EdgeCount==0 marks an unannotated resolver — either a deliberate no-op (sidecar populator) or a sweep target not yet annotated.

func ListResolvers

func ListResolvers() []ResolverInfo

ListResolvers returns one ResolverInfo per registered resolver in registration order. Used by `disco coverage resolvers` to discover unannotated registrations.

type Scanner

type Scanner struct {
	// contains filtered or unexported fields
}

Scanner implements providers.Scanner for Azure.

func (*Scanner) LongDescription

func (s *Scanner) LongDescription() string

LongDescription is the help text for `disco scan azure --help`.

func (*Scanner) Name

func (s *Scanner) Name() string

Name implements providers.Scanner.

func (*Scanner) RegionNames

func (s *Scanner) RegionNames() []string

RegionNames implements providers.RegionNamer. Returns a clone so callers can't mutate the package-level list; azureregions leaf package is the SDK-free source of truth.

func (*Scanner) Scan

func (s *Scanner) Scan(ctx context.Context, st *store.Store, scanID string) error

Scan discovers all Azure resources across all configured subscriptions. Subscriptions are scanned in parallel, bounded by maxConcurrentServices.

func (*Scanner) ScopeColumnWidth

func (s *Scanner) ScopeColumnWidth() int

ScopeColumnWidth pins the scan progress scope column to fit a subscription UUID.

func (*Scanner) ServiceFilterExample

func (s *Scanner) ServiceFilterExample() string

ServiceFilterExample is the --services example shown in azure scan help.

func (*Scanner) ServiceNames

func (s *Scanner) ServiceNames() []string

ServiceNames returns the names of all services this scanner will report.

func (*Scanner) SetServiceFilter

func (s *Scanner) SetServiceFilter(services []string)

SetServiceFilter restricts the scan to the named services (e.g. "azure:microsoft.compute", "azure:microsoft.network"). An empty or nil slice scans all registered services.

func (*Scanner) SetSubscriptionOverride

func (s *Scanner) SetSubscriptionOverride(subscriptionIDs []string)

SetSubscriptionOverride pins the scan to exactly the given subscription IDs, disabling auto-enumeration (fail-closed). Implements providers.SubscriptionOverrider. A nil slice leaves the default config-then-enumerate behavior intact.

Source Files

Directories

Path Synopsis
Package azureregions is disco's static list of Azure ARM public-cloud locations.
Package azureregions is disco's static list of Azure ARM public-cloud locations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL