Skip to content

Azure Indexed Resources

Overview

When you write a generation rule, you tell the workspace builder which cloud resources to match by listing one or more resource types under resourceTypes. This page lists the resource types the Azure indexer discovers, the names that work, and a working match rule example.

A transition from CloudQuery resource names to the native azureapi indexer names is underway — the alias column lists the legacy CloudQuery names which will be deprecated. 619 resource types total — 25 typed (rich properties), 594 generic (basic envelope). Full catalog →

Commonly used resource types

Resource typeAliasesNotes
azure_compute_virtual_machinesvirtual_machine
azure_compute_disks
azure_compute_snapshots
azure_compute_virtual_machine_scale_sets
azure_storage_accountsproperties.primaryEndpoints.*
azure_keyvault_keyvaultsazure_keyvault_vaults, azure_keyvault_keyvaultproperties.vaultUri
azure_network_virtual_networks
azure_network_security_groups
azure_network_load_balancers
azure_network_application_gateways
azure_containerservice_managed_clusters(AKS)
azure_containerregistry_registries
azure_appservice_web_apps
azure_appservice_plans
azure_mysql_servers
azure_mysqlflexibleservers_servers
azure_postgresql_databasesparent server in properties
azure_redis_caches
azure_servicebus_namespaces
azure_datafactory_factories
azure_apimanagement_service
azure_cosmos_sql_databasesparent account in properties
azure_azurearcdata_sql_server_instances
azure_resources_resource_groupsresource_groupalways indexed
azure_subscription_subscriptionsanchor, always indexed

Built-in matchable properties

Every Azure resource carries these by default:

PropertyValue
nameResource name
tags, tag-keys, tag-valuesAzure tags
resource_groupParent resource group name
locationAzure region

Use resource/<path> to reach raw JSON fields — e.g. properties/storageProfile/osDisk/osType or properties/vaultUri.

Typed resources carry their full SDK properties payload. Generic resources carry only the basic envelope (id, name, type, location, tags, sku, kind, identity) — no properties. To match on resource-specific fields, the type needs a typed collector.

Example match rule

apiVersion: runwhen.com/v1
kind: GenerationRules
spec:
platform: azure
generationRules:
- resourceTypes:
- virtual_machine
matchRules:
- type: and
matches:
- type: pattern
properties: [tags]
pattern: "production"
mode: substring
- type: pattern
properties: ["resource/properties/storageProfile/osDisk/osType"]
pattern: "Linux"
mode: exact
slxs:
- baseName: vm-health
qualifiers: [resource_group, name]
baseTemplateName: azure-vm-health
levelOfDetail: detailed
outputItems:
- type: slx
- type: runbook

Note: 594 types are generic (basic envelope only: id, name, type, location, tags) — no properties for matching against resource-specific fields. Check the full catalog for tier status. To get a richer payload for a generic type, a typed collector must be added; see Azure indexer internals for the recipe. For credential setup and workspace configuration, see the cloud discovery user guide.