Microsoft.DesktopVirtualization hostPools 2022-04-01-preview
The hostPools resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
To create a Microsoft.DesktopVirtualization/hostPools resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DesktopVirtualization/hostPools@2022-04-01-preview' = {
identity: {
type: 'SystemAssigned'
}
kind: 'string'
location: 'string'
managedBy: 'string'
name: 'string'
plan: {
name: 'string'
product: 'string'
promotionCode: 'string'
publisher: 'string'
version: 'string'
}
properties: {
agentUpdate: {
maintenanceWindows: [
{
dayOfWeek: 'string'
hour: int
}
]
maintenanceWindowTimeZone: 'string'
type: 'string'
useSessionHostLocalTime: bool
}
customRdpProperty: 'string'
description: 'string'
friendlyName: 'string'
hostPoolType: 'string'
loadBalancerType: 'string'
maxSessionLimit: int
migrationRequest: {
migrationPath: 'string'
operation: 'string'
}
personalDesktopAssignmentType: 'string'
preferredAppGroupType: 'string'
publicNetworkAccess: 'string'
registrationInfo: {
expirationTime: 'string'
registrationTokenOperation: 'string'
token: 'string'
}
ring: int
ssoadfsAuthority: 'string'
ssoClientId: 'string'
ssoClientSecretKeyVaultPath: 'string'
ssoSecretType: 'string'
startVMOnConnect: bool
validationEnvironment: bool
vmTemplate: 'string'
}
sku: {
capacity: int
family: 'string'
name: 'string'
size: 'string'
tier: 'string'
}
tags: {
{customized property}: 'string'
}
}
Name | Description | Value |
---|---|---|
maintenanceWindows | List of maintenance windows. Maintenance windows are 2 hours long. | MaintenanceWindowProperties[] |
maintenanceWindowTimeZone | Time zone for maintenance as defined in /dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. | string |
type | The type of maintenance for session host components. | 'Default' 'Scheduled' |
useSessionHostLocalTime | Whether to use localTime of the virtual machine. | bool |
Name | Description | Value |
---|---|---|
agentUpdate | The session host configuration for updating agent, monitoring agent, and stack component. | AgentUpdateProperties |
customRdpProperty | Custom rdp property of HostPool. | string |
description | Description of HostPool. | string |
friendlyName | Friendly name of HostPool. | string |
hostPoolType | HostPool type for desktop. | 'BYODesktop' 'Personal' 'Pooled' (required) |
loadBalancerType | The type of the load balancer. | 'BreadthFirst' 'DepthFirst' 'Persistent' (required) |
maxSessionLimit | The max session limit of HostPool. | int |
migrationRequest | The registration info of HostPool. | MigrationRequestProperties |
personalDesktopAssignmentType | PersonalDesktopAssignment type for HostPool. | 'Automatic' 'Direct' |
preferredAppGroupType | The type of preferred application group type, default to Desktop Application Group | 'Desktop' 'None' 'RailApplications' (required) |
publicNetworkAccess | Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints | 'Disabled' 'Enabled' 'EnabledForClientsOnly' 'EnabledForSessionHostsOnly' |
registrationInfo | The registration info of HostPool. | RegistrationInfo |
ring | The ring number of HostPool. | int |
ssoadfsAuthority | URL to customer ADFS server for signing WVD SSO certificates. | string |
ssoClientId | ClientId for the registered Relying Party used to issue WVD SSO certificates. | string |
ssoClientSecretKeyVaultPath | Path to Azure KeyVault storing the secret used for communication to ADFS. | string |
ssoSecretType | The type of single sign on Secret Type. | 'Certificate' 'CertificateInKeyVault' 'SharedKey' 'SharedKeyInKeyVault' |
startVMOnConnect | The flag to turn on/off StartVMOnConnect feature. | bool |
validationEnvironment | Is validation environment. | bool |
vmTemplate | VM template for sessionhosts configuration within hostpool. | string |
Name | Description | Value |
---|---|---|
dayOfWeek | Day of the week. | 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
hour | The update start hour of the day. (0 - 23) | int |
Name | Description | Value |
---|---|---|
identity | ResourceModelWithAllowedPropertySetIdentity | |
kind | Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. | string Constraints: Pattern = ^[-\w\._,\(\)]+$ |
location | The geo-location where the resource lives | string |
managedBy | The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. | string |
name | The resource name | string Constraints: Min length = 3 Max length = 64 (required) |
plan | ResourceModelWithAllowedPropertySetPlan | |
properties | Detailed properties for HostPool | HostPoolProperties (required) |
sku | ResourceModelWithAllowedPropertySetSku | |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
Name | Description | Value |
---|---|---|
migrationPath | The path to the legacy object to migrate. | string |
operation | The type of operation for migration. | 'Complete' 'Hide' 'Revoke' 'Start' 'Unhide' |
Name | Description | Value |
---|---|---|
expirationTime | Expiration time of registration token. | string |
registrationTokenOperation | The type of resetting the token. | 'Delete' 'None' 'Update' |
token | The registration token base64 encoded string. | string |
Name | Description | Value |
---|---|---|
type | The identity type. | 'SystemAssigned' |
Name | Description | Value |
---|---|---|
name | A user defined name of the 3rd Party Artifact that is being procured. | string (required) |
product | The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. | string (required) |
promotionCode | A publisher provided promotion code as provisioned in Data Market for the said product/artifact. | string |
publisher | The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic | string (required) |
version | The version of the desired product/artifact. | string |
Name | Description | Value |
---|---|---|
capacity | If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. | int |
family | If the service has different generations of hardware, for the same SKU, then that can be captured here. | string |
name | The name of the SKU. Ex - P3. It is typically a letter+number code | string (required) |
size | The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. | string |
tier | This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. | 'Basic' 'Free' 'Premium' 'Standard' |
Name | Description | Value |
---|
The following Azure Verified Modules can be used to deploy this resource type.
Module | Description |
---|---|
Azure Virtual Desktop (AVD) Host Pool | AVM Resource Module for Azure Virtual Desktop (AVD) Host Pool |
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
Bicep File | Description |
---|---|
Creates AVD with Microsoft Entra ID Join | This template allows you to create Azure Virtual Desktop resources such as host pool, application group, workspace, a test session host and its extensions with Microsoft Entra ID join |
The hostPools resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
To create a Microsoft.DesktopVirtualization/hostPools resource, add the following JSON to your template.
{
"type": "Microsoft.DesktopVirtualization/hostPools",
"apiVersion": "2022-04-01-preview",
"name": "string",
"identity": {
"type": "SystemAssigned"
},
"kind": "string",
"location": "string",
"managedBy": "string",
"plan": {
"name": "string",
"product": "string",
"promotionCode": "string",
"publisher": "string",
"version": "string"
},
"properties": {
"agentUpdate": {
"maintenanceWindows": [
{
"dayOfWeek": "string",
"hour": "int"
}
],
"maintenanceWindowTimeZone": "string",
"type": "string",
"useSessionHostLocalTime": "bool"
},
"customRdpProperty": "string",
"description": "string",
"friendlyName": "string",
"hostPoolType": "string",
"loadBalancerType": "string",
"maxSessionLimit": "int",
"migrationRequest": {
"migrationPath": "string",
"operation": "string"
},
"personalDesktopAssignmentType": "string",
"preferredAppGroupType": "string",
"publicNetworkAccess": "string",
"registrationInfo": {
"expirationTime": "string",
"registrationTokenOperation": "string",
"token": "string"
},
"ring": "int",
"ssoadfsAuthority": "string",
"ssoClientId": "string",
"ssoClientSecretKeyVaultPath": "string",
"ssoSecretType": "string",
"startVMOnConnect": "bool",
"validationEnvironment": "bool",
"vmTemplate": "string"
},
"sku": {
"capacity": "int",
"family": "string",
"name": "string",
"size": "string",
"tier": "string"
},
"tags": {
"{customized property}": "string"
}
}
Name | Description | Value |
---|---|---|
maintenanceWindows | List of maintenance windows. Maintenance windows are 2 hours long. | MaintenanceWindowProperties[] |
maintenanceWindowTimeZone | Time zone for maintenance as defined in /dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. | string |
type | The type of maintenance for session host components. | 'Default' 'Scheduled' |
useSessionHostLocalTime | Whether to use localTime of the virtual machine. | bool |
Name | Description | Value |
---|---|---|
agentUpdate | The session host configuration for updating agent, monitoring agent, and stack component. | AgentUpdateProperties |
customRdpProperty | Custom rdp property of HostPool. | string |
description | Description of HostPool. | string |
friendlyName | Friendly name of HostPool. | string |
hostPoolType | HostPool type for desktop. | 'BYODesktop' 'Personal' 'Pooled' (required) |
loadBalancerType | The type of the load balancer. | 'BreadthFirst' 'DepthFirst' 'Persistent' (required) |
maxSessionLimit | The max session limit of HostPool. | int |
migrationRequest | The registration info of HostPool. | MigrationRequestProperties |
personalDesktopAssignmentType | PersonalDesktopAssignment type for HostPool. | 'Automatic' 'Direct' |
preferredAppGroupType | The type of preferred application group type, default to Desktop Application Group | 'Desktop' 'None' 'RailApplications' (required) |
publicNetworkAccess | Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints | 'Disabled' 'Enabled' 'EnabledForClientsOnly' 'EnabledForSessionHostsOnly' |
registrationInfo | The registration info of HostPool. | RegistrationInfo |
ring | The ring number of HostPool. | int |
ssoadfsAuthority | URL to customer ADFS server for signing WVD SSO certificates. | string |
ssoClientId | ClientId for the registered Relying Party used to issue WVD SSO certificates. | string |
ssoClientSecretKeyVaultPath | Path to Azure KeyVault storing the secret used for communication to ADFS. | string |
ssoSecretType | The type of single sign on Secret Type. | 'Certificate' 'CertificateInKeyVault' 'SharedKey' 'SharedKeyInKeyVault' |
startVMOnConnect | The flag to turn on/off StartVMOnConnect feature. | bool |
validationEnvironment | Is validation environment. | bool |
vmTemplate | VM template for sessionhosts configuration within hostpool. | string |
Name | Description | Value |
---|---|---|
dayOfWeek | Day of the week. | 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
hour | The update start hour of the day. (0 - 23) | int |
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2022-04-01-preview' |
identity | ResourceModelWithAllowedPropertySetIdentity | |
kind | Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. | string Constraints: Pattern = ^[-\w\._,\(\)]+$ |
location | The geo-location where the resource lives | string |
managedBy | The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. | string |
name | The resource name | string Constraints: Min length = 3 Max length = 64 (required) |
plan | ResourceModelWithAllowedPropertySetPlan | |
properties | Detailed properties for HostPool | HostPoolProperties (required) |
sku | ResourceModelWithAllowedPropertySetSku | |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.DesktopVirtualization/hostPools' |
Name | Description | Value |
---|---|---|
migrationPath | The path to the legacy object to migrate. | string |
operation | The type of operation for migration. | 'Complete' 'Hide' 'Revoke' 'Start' 'Unhide' |
Name | Description | Value |
---|---|---|
expirationTime | Expiration time of registration token. | string |
registrationTokenOperation | The type of resetting the token. | 'Delete' 'None' 'Update' |
token | The registration token base64 encoded string. | string |
Name | Description | Value |
---|---|---|
type | The identity type. | 'SystemAssigned' |
Name | Description | Value |
---|---|---|
name | A user defined name of the 3rd Party Artifact that is being procured. | string (required) |
product | The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. | string (required) |
promotionCode | A publisher provided promotion code as provisioned in Data Market for the said product/artifact. | string |
publisher | The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic | string (required) |
version | The version of the desired product/artifact. | string |
Name | Description | Value |
---|---|---|
capacity | If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. | int |
family | If the service has different generations of hardware, for the same SKU, then that can be captured here. | string |
name | The name of the SKU. Ex - P3. It is typically a letter+number code | string (required) |
size | The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. | string |
tier | This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. | 'Basic' 'Free' 'Premium' 'Standard' |
Name | Description | Value |
---|
The following Azure Quickstart templates deploy this resource type.
Template | Description |
---|---|
Creates AVD with Microsoft Entra ID Join |
This template allows you to create Azure Virtual Desktop resources such as host pool, application group, workspace, a test session host and its extensions with Microsoft Entra ID join |
The hostPools resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
To create a Microsoft.DesktopVirtualization/hostPools resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DesktopVirtualization/hostPools@2022-04-01-preview"
name = "string"
identity = {
type = "SystemAssigned"
}
kind = "string"
location = "string"
managedBy = "string"
plan = {
name = "string"
product = "string"
promotionCode = "string"
publisher = "string"
version = "string"
}
sku = {
capacity = int
family = "string"
name = "string"
size = "string"
tier = "string"
}
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
agentUpdate = {
maintenanceWindows = [
{
dayOfWeek = "string"
hour = int
}
]
maintenanceWindowTimeZone = "string"
type = "string"
useSessionHostLocalTime = bool
}
customRdpProperty = "string"
description = "string"
friendlyName = "string"
hostPoolType = "string"
loadBalancerType = "string"
maxSessionLimit = int
migrationRequest = {
migrationPath = "string"
operation = "string"
}
personalDesktopAssignmentType = "string"
preferredAppGroupType = "string"
publicNetworkAccess = "string"
registrationInfo = {
expirationTime = "string"
registrationTokenOperation = "string"
token = "string"
}
ring = int
ssoadfsAuthority = "string"
ssoClientId = "string"
ssoClientSecretKeyVaultPath = "string"
ssoSecretType = "string"
startVMOnConnect = bool
validationEnvironment = bool
vmTemplate = "string"
}
})
}
Name | Description | Value |
---|---|---|
maintenanceWindows | List of maintenance windows. Maintenance windows are 2 hours long. | MaintenanceWindowProperties[] |
maintenanceWindowTimeZone | Time zone for maintenance as defined in /dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. | string |
type | The type of maintenance for session host components. | 'Default' 'Scheduled' |
useSessionHostLocalTime | Whether to use localTime of the virtual machine. | bool |
Name | Description | Value |
---|---|---|
agentUpdate | The session host configuration for updating agent, monitoring agent, and stack component. | AgentUpdateProperties |
customRdpProperty | Custom rdp property of HostPool. | string |
description | Description of HostPool. | string |
friendlyName | Friendly name of HostPool. | string |
hostPoolType | HostPool type for desktop. | 'BYODesktop' 'Personal' 'Pooled' (required) |
loadBalancerType | The type of the load balancer. | 'BreadthFirst' 'DepthFirst' 'Persistent' (required) |
maxSessionLimit | The max session limit of HostPool. | int |
migrationRequest | The registration info of HostPool. | MigrationRequestProperties |
personalDesktopAssignmentType | PersonalDesktopAssignment type for HostPool. | 'Automatic' 'Direct' |
preferredAppGroupType | The type of preferred application group type, default to Desktop Application Group | 'Desktop' 'None' 'RailApplications' (required) |
publicNetworkAccess | Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints | 'Disabled' 'Enabled' 'EnabledForClientsOnly' 'EnabledForSessionHostsOnly' |
registrationInfo | The registration info of HostPool. | RegistrationInfo |
ring | The ring number of HostPool. | int |
ssoadfsAuthority | URL to customer ADFS server for signing WVD SSO certificates. | string |
ssoClientId | ClientId for the registered Relying Party used to issue WVD SSO certificates. | string |
ssoClientSecretKeyVaultPath | Path to Azure KeyVault storing the secret used for communication to ADFS. | string |
ssoSecretType | The type of single sign on Secret Type. | 'Certificate' 'CertificateInKeyVault' 'SharedKey' 'SharedKeyInKeyVault' |
startVMOnConnect | The flag to turn on/off StartVMOnConnect feature. | bool |
validationEnvironment | Is validation environment. | bool |
vmTemplate | VM template for sessionhosts configuration within hostpool. | string |
Name | Description | Value |
---|---|---|
dayOfWeek | Day of the week. | 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
hour | The update start hour of the day. (0 - 23) | int |
Name | Description | Value |
---|---|---|
identity | ResourceModelWithAllowedPropertySetIdentity | |
kind | Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. | string Constraints: Pattern = ^[-\w\._,\(\)]+$ |
location | The geo-location where the resource lives | string |
managedBy | The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. | string |
name | The resource name | string Constraints: Min length = 3 Max length = 64 (required) |
plan | ResourceModelWithAllowedPropertySetPlan | |
properties | Detailed properties for HostPool | HostPoolProperties (required) |
sku | ResourceModelWithAllowedPropertySetSku | |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.DesktopVirtualization/hostPools@2022-04-01-preview" |
Name | Description | Value |
---|---|---|
migrationPath | The path to the legacy object to migrate. | string |
operation | The type of operation for migration. | 'Complete' 'Hide' 'Revoke' 'Start' 'Unhide' |
Name | Description | Value |
---|---|---|
expirationTime | Expiration time of registration token. | string |
registrationTokenOperation | The type of resetting the token. | 'Delete' 'None' 'Update' |
token | The registration token base64 encoded string. | string |
Name | Description | Value |
---|---|---|
type | The identity type. | 'SystemAssigned' |
Name | Description | Value |
---|---|---|
name | A user defined name of the 3rd Party Artifact that is being procured. | string (required) |
product | The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. | string (required) |
promotionCode | A publisher provided promotion code as provisioned in Data Market for the said product/artifact. | string |
publisher | The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic | string (required) |
version | The version of the desired product/artifact. | string |
Name | Description | Value |
---|---|---|
capacity | If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. | int |
family | If the service has different generations of hardware, for the same SKU, then that can be captured here. | string |
name | The name of the SKU. Ex - P3. It is typically a letter+number code | string (required) |
size | The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. | string |
tier | This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. | 'Basic' 'Free' 'Premium' 'Standard' |
Name | Description | Value |
---|
The following Azure Verified Modules can be used to deploy this resource type.
Module | Description |
---|---|
Azure Virtual Desktop (AVD) Host Pool | AVM Resource Module for Azure Virtual Desktop (AVD) Host Pool |