Skip to content

Variable Mapping Reference

This table defines the canonical contract mapping from config variables to each automation implementation.

Canonical keyBicepTerraformPowerShellAnsibleARM
subscription.avd_subscription_iddeployment scope subscriptionprovider subscriptionSet-AzContext -SubscriptionIdazure_subscription_iddeployment subscription
subscription.azure_local_subscription_idcross-subscription IDsazapi resource ID valuescustom location/network/image IDsavd_custom_location_id and IDsparameter IDs
subscription.locationlocationvar.location$Locationazure_locationparameters.location
security.key_vault_nameparam key vault namevar.key_vault_name$KeyVaultNameavd_key_vault_namekeyVaultName
control_plane.resource_groupparam resourceGroupNamevar.resource_group_name$ResourceGroupNameazure_resource_groupresourceGroupName
control_plane.host_pool_namehostPoolNamevar.host_pool_name$HostPoolNameavd_host_pool_namehostPoolName
control_plane.host_pool_typehostPoolTypevar.host_pool_type$HostPoolTypeavd_host_pool_typehostPoolType
control_plane.load_balancer_typeloadBalancerTypevar.load_balancer_type$LoadBalancerTypeavd_load_balancer_typeloadBalancerType
control_plane.max_session_limitmaxSessionLimitvar.max_session_limit$MaxSessionLimitavd_max_session_limitmaxSessionLimit
control_plane.app_group_nameappGroupNamevar.app_group_name$AppGroupNameavd_app_group_nameappGroupName
control_plane.workspace_nameworkspaceNamevar.workspace_name$WorkspaceNameavd_workspace_nameworkspaceName
session_hosts.resource_groupparam resourceGroupName (session hosts)var.resource_group_name or dedicated var$ResourceGroupNameazure_resource_groupresourceGroupName
session_hosts.session_host_countsessionHostCountvar.vm_count$VmCountavd_vm_countloop count
session_hosts.vm_naming_prefixvmNamingPrefixvar.vm_name_prefix$VmNamePrefixavd_vm_name_prefixvmName pattern
session_hosts.vm_processorsvmProcessorsvar.vm_processorsVM sizing inputvm processors in resource bodyprocessors
session_hosts.vm_memory_mbvmMemoryMBvar.vm_memory_mbVM sizing inputvm memory in resource bodymemorymb
session_hosts.vm_admin_usernameadminUsernamevar.admin_usernameadmin usernameavd_admin_usernameadminUsername
session_hosts.vm_admin_passwordadminPassword (resolved)var.admin_password (sensitive)Key Vault ref resolvedKey Vault secretadminPassword
session_hosts.custom_location_idcustomLocationIdvar.custom_location_id$CustomLocationIdavd_custom_location_idcustomLocationId
session_hosts.logical_network_idlogicalNetworkIdvar.vnet_id / logical network id$VnetIdavd_vnet_idlogicalNetworkId
session_hosts.gallery_image_idgalleryImageIdvar.image_id$ImageIdavd_image_idimageId
session_hosts.storage_path_idstoragePathIdvar.storage_path_idstorage path parameteravd_storage_path_idstoragePathId
domain.domain_fqdndomainFqdnvar.domain_fqdn$DomainFqdnavd_domain_fqdndomain parameter
domain.domain_join_usernamedomainJoinUservar.domain_join_user$DomainJoinUseravd_domain_join_userdomain join user
domain.domain_join_passworddomainJoinPassword (resolved)var.domain_join_passwordKey Vault ref resolvedKey Vault secretprotected setting
monitoring.log_analytics_workspace_namediagnostics destinationvar.log_analytics_workspace_namediagnostics scriptavd_log_analytics_workspace_namediagnostics resource
monitoring.*_diagnostic_categoriescategory arraysvariable listsSet-AVDDiagnosticSettingsavd diagnostics role varsdiagnostic settings categories
rbac.desktop_virtualization_user_group_idrole assignment principalrole assignment principalSet-AVDRoleAssignmentsavd-rbac role varsrole assignment principal
rbac.vm_user_login_group_idrole assignment principalrole assignment principalSet-AVDRoleAssignmentsavd-rbac role varsrole assignment principal
rbac.vm_admin_login_group_idrole assignment principalrole assignment principalSet-AVDRoleAssignmentsavd-rbac role varsrole assignment principal
fslogix.profile_share_pathextension/script inputVM extension settingSet-AVDFSLogixConfigavd-fslogix role varscustom script setting
fslogix.vhd_size_gbextension/script inputVM extension settingSet-AVDFSLogixConfigavd-fslogix role varscustom script setting
image.source/publisher/offer/sku/versionimage selection fieldsimage variablesparameters or YAMLimage varsparameter fields

Contract Modes

  • Strict direct: Bicep deploy orchestrator reads config/variables.yml directly.
  • Derived: Terraform and ARM parameter files may be generated from canonical config.
  • Transitional: PowerShell parameters.ps1 remains supported while ConfigFile/YAML path is adopted.

Released under the MIT License.