We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
Manages a Virtual Desktop Host Pool.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleHostPool = new Azure.DesktopVirtualization.HostPool("exampleHostPool", new Azure.DesktopVirtualization.HostPoolArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
FriendlyName = "pooleddepthfirst",
ValidateEnvironment = true,
StartVmOnConnect = true,
CustomRdpProperties = "audiocapturemode:i:1;audiomode:i:0;",
Description = "Acceptance Test: A pooled host pool - pooleddepthfirst",
Type = "Pooled",
MaximumSessionsAllowed = 50,
LoadBalancerType = "DepthFirst",
});
}
}
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
_, err = desktopvirtualization.NewHostPool(ctx, "exampleHostPool", &desktopvirtualization.HostPoolArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
FriendlyName: pulumi.String("pooleddepthfirst"),
ValidateEnvironment: pulumi.Bool(true),
StartVmOnConnect: pulumi.Bool(true),
CustomRdpProperties: pulumi.String("audiocapturemode:i:1;audiomode:i:0;"),
Description: pulumi.String("Acceptance Test: A pooled host pool - pooleddepthfirst"),
Type: pulumi.String("Pooled"),
MaximumSessionsAllowed: pulumi.Int(50),
LoadBalancerType: pulumi.String("DepthFirst"),
})
if err != nil {
return err
}
return nil
})
}
Example coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleHostPool = new azure.desktopvirtualization.HostPool("exampleHostPool", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
friendlyName: "pooleddepthfirst",
validateEnvironment: true,
startVmOnConnect: true,
customRdpProperties: "audiocapturemode:i:1;audiomode:i:0;",
description: "Acceptance Test: A pooled host pool - pooleddepthfirst",
type: "Pooled",
maximumSessionsAllowed: 50,
loadBalancerType: "DepthFirst",
});
import pulumi
import pulumi_azure as azure
example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_host_pool = azure.desktopvirtualization.HostPool("exampleHostPool",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
friendly_name="pooleddepthfirst",
validate_environment=True,
start_vm_on_connect=True,
custom_rdp_properties="audiocapturemode:i:1;audiomode:i:0;",
description="Acceptance Test: A pooled host pool - pooleddepthfirst",
type="Pooled",
maximum_sessions_allowed=50,
load_balancer_type="DepthFirst")
Example coming soon!
Create HostPool Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new HostPool(name: string, args: HostPoolArgs, opts?: CustomResourceOptions);@overload
def HostPool(resource_name: str,
args: HostPoolArgs,
opts: Optional[ResourceOptions] = None)
@overload
def HostPool(resource_name: str,
opts: Optional[ResourceOptions] = None,
load_balancer_type: Optional[str] = None,
type: Optional[str] = None,
resource_group_name: Optional[str] = None,
name: Optional[str] = None,
location: Optional[str] = None,
maximum_sessions_allowed: Optional[int] = None,
custom_rdp_properties: Optional[str] = None,
personal_desktop_assignment_type: Optional[str] = None,
preferred_app_group_type: Optional[str] = None,
registration_info: Optional[HostPoolRegistrationInfoArgs] = None,
friendly_name: Optional[str] = None,
start_vm_on_connect: Optional[bool] = None,
tags: Optional[Mapping[str, str]] = None,
description: Optional[str] = None,
validate_environment: Optional[bool] = None)func NewHostPool(ctx *Context, name string, args HostPoolArgs, opts ...ResourceOption) (*HostPool, error)public HostPool(string name, HostPoolArgs args, CustomResourceOptions? opts = null)
public HostPool(String name, HostPoolArgs args)
public HostPool(String name, HostPoolArgs args, CustomResourceOptions options)
type: azure:desktopvirtualization:HostPool
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args HostPoolArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args HostPoolArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args HostPoolArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args HostPoolArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args HostPoolArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var hostPoolResource = new Azure.DesktopVirtualization.HostPool("hostPoolResource", new()
{
LoadBalancerType = "string",
Type = "string",
ResourceGroupName = "string",
Name = "string",
Location = "string",
MaximumSessionsAllowed = 0,
CustomRdpProperties = "string",
PersonalDesktopAssignmentType = "string",
PreferredAppGroupType = "string",
RegistrationInfo = new Azure.DesktopVirtualization.Inputs.HostPoolRegistrationInfoArgs
{
ResetToken = false,
Token = "string",
},
FriendlyName = "string",
StartVmOnConnect = false,
Tags =
{
{ "string", "string" },
},
Description = "string",
ValidateEnvironment = false,
});
example, err := desktopvirtualization.NewHostPool(ctx, "hostPoolResource", &desktopvirtualization.HostPoolArgs{
LoadBalancerType: pulumi.String("string"),
Type: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
Name: pulumi.String("string"),
Location: pulumi.String("string"),
MaximumSessionsAllowed: pulumi.Int(0),
CustomRdpProperties: pulumi.String("string"),
PersonalDesktopAssignmentType: pulumi.String("string"),
PreferredAppGroupType: pulumi.String("string"),
RegistrationInfo: &desktopvirtualization.HostPoolRegistrationInfoArgs{
ResetToken: pulumi.Bool(false),
Token: pulumi.String("string"),
},
FriendlyName: pulumi.String("string"),
StartVmOnConnect: pulumi.Bool(false),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
Description: pulumi.String("string"),
ValidateEnvironment: pulumi.Bool(false),
})
var hostPoolResource = new HostPool("hostPoolResource", HostPoolArgs.builder()
.loadBalancerType("string")
.type("string")
.resourceGroupName("string")
.name("string")
.location("string")
.maximumSessionsAllowed(0)
.customRdpProperties("string")
.personalDesktopAssignmentType("string")
.preferredAppGroupType("string")
.registrationInfo(HostPoolRegistrationInfoArgs.builder()
.resetToken(false)
.token("string")
.build())
.friendlyName("string")
.startVmOnConnect(false)
.tags(Map.of("string", "string"))
.description("string")
.validateEnvironment(false)
.build());
host_pool_resource = azure.desktopvirtualization.HostPool("hostPoolResource",
load_balancer_type="string",
type="string",
resource_group_name="string",
name="string",
location="string",
maximum_sessions_allowed=0,
custom_rdp_properties="string",
personal_desktop_assignment_type="string",
preferred_app_group_type="string",
registration_info={
"reset_token": False,
"token": "string",
},
friendly_name="string",
start_vm_on_connect=False,
tags={
"string": "string",
},
description="string",
validate_environment=False)
const hostPoolResource = new azure.desktopvirtualization.HostPool("hostPoolResource", {
loadBalancerType: "string",
type: "string",
resourceGroupName: "string",
name: "string",
location: "string",
maximumSessionsAllowed: 0,
customRdpProperties: "string",
personalDesktopAssignmentType: "string",
preferredAppGroupType: "string",
registrationInfo: {
resetToken: false,
token: "string",
},
friendlyName: "string",
startVmOnConnect: false,
tags: {
string: "string",
},
description: "string",
validateEnvironment: false,
});
type: azure:desktopvirtualization:HostPool
properties:
customRdpProperties: string
description: string
friendlyName: string
loadBalancerType: string
location: string
maximumSessionsAllowed: 0
name: string
personalDesktopAssignmentType: string
preferredAppGroupType: string
registrationInfo:
resetToken: false
token: string
resourceGroupName: string
startVmOnConnect: false
tags:
string: string
type: string
validateEnvironment: false
HostPool Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The HostPool resource accepts the following input properties:
- Load
Balancer stringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- Resource
Group stringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- Type string
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - Custom
Rdp stringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- Description string
- A description for the Virtual Desktop Host Pool.
- Friendly
Name string - A friendly name for the Virtual Desktop Host Pool.
- Location string
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- Maximum
Sessions intAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - Name string
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- Personal
Desktop stringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- Preferred
App stringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - Registration
Info HostPool Registration Info - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - Start
Vm boolOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - Dictionary<string, string>
- A mapping of tags to assign to the resource.
- Validate
Environment bool - Allows you to test service changes before they are deployed to production. Defaults to
false.
- Load
Balancer stringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- Resource
Group stringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- Type string
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - Custom
Rdp stringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- Description string
- A description for the Virtual Desktop Host Pool.
- Friendly
Name string - A friendly name for the Virtual Desktop Host Pool.
- Location string
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- Maximum
Sessions intAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - Name string
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- Personal
Desktop stringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- Preferred
App stringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - Registration
Info HostPool Registration Info Args - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - Start
Vm boolOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - map[string]string
- A mapping of tags to assign to the resource.
- Validate
Environment bool - Allows you to test service changes before they are deployed to production. Defaults to
false.
- load
Balancer StringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- resource
Group StringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- type String
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - custom
Rdp StringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- description String
- A description for the Virtual Desktop Host Pool.
- friendly
Name String - A friendly name for the Virtual Desktop Host Pool.
- location String
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- maximum
Sessions IntegerAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - name String
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- personal
Desktop StringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- preferred
App StringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - registration
Info HostPool Registration Info - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - start
Vm BooleanOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - Map<String,String>
- A mapping of tags to assign to the resource.
- validate
Environment Boolean - Allows you to test service changes before they are deployed to production. Defaults to
false.
- load
Balancer stringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- resource
Group stringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- type string
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - custom
Rdp stringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- description string
- A description for the Virtual Desktop Host Pool.
- friendly
Name string - A friendly name for the Virtual Desktop Host Pool.
- location string
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- maximum
Sessions numberAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - name string
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- personal
Desktop stringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- preferred
App stringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - registration
Info HostPool Registration Info - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - start
Vm booleanOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - {[key: string]: string}
- A mapping of tags to assign to the resource.
- validate
Environment boolean - Allows you to test service changes before they are deployed to production. Defaults to
false.
- load_
balancer_ strtype BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- resource_
group_ strname - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- type str
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - custom_
rdp_ strproperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- description str
- A description for the Virtual Desktop Host Pool.
- friendly_
name str - A friendly name for the Virtual Desktop Host Pool.
- location str
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- maximum_
sessions_ intallowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - name str
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- personal_
desktop_ strassignment_ type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- preferred_
app_ strgroup_ type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - registration_
info HostPool Registration Info Args - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - start_
vm_ boolon_ connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - Mapping[str, str]
- A mapping of tags to assign to the resource.
- validate_
environment bool - Allows you to test service changes before they are deployed to production. Defaults to
false.
- load
Balancer StringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- resource
Group StringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- type String
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - custom
Rdp StringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- description String
- A description for the Virtual Desktop Host Pool.
- friendly
Name String - A friendly name for the Virtual Desktop Host Pool.
- location String
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- maximum
Sessions NumberAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - name String
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- personal
Desktop StringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- preferred
App StringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - registration
Info Property Map - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - start
Vm BooleanOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - Map<String>
- A mapping of tags to assign to the resource.
- validate
Environment Boolean - Allows you to test service changes before they are deployed to production. Defaults to
false.
Outputs
All input properties are implicitly available as output properties. Additionally, the HostPool resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing HostPool Resource
Get an existing HostPool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: HostPoolState, opts?: CustomResourceOptions): HostPool@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
custom_rdp_properties: Optional[str] = None,
description: Optional[str] = None,
friendly_name: Optional[str] = None,
load_balancer_type: Optional[str] = None,
location: Optional[str] = None,
maximum_sessions_allowed: Optional[int] = None,
name: Optional[str] = None,
personal_desktop_assignment_type: Optional[str] = None,
preferred_app_group_type: Optional[str] = None,
registration_info: Optional[HostPoolRegistrationInfoArgs] = None,
resource_group_name: Optional[str] = None,
start_vm_on_connect: Optional[bool] = None,
tags: Optional[Mapping[str, str]] = None,
type: Optional[str] = None,
validate_environment: Optional[bool] = None) -> HostPoolfunc GetHostPool(ctx *Context, name string, id IDInput, state *HostPoolState, opts ...ResourceOption) (*HostPool, error)public static HostPool Get(string name, Input<string> id, HostPoolState? state, CustomResourceOptions? opts = null)public static HostPool get(String name, Output<String> id, HostPoolState state, CustomResourceOptions options)resources: _: type: azure:desktopvirtualization:HostPool get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Custom
Rdp stringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- Description string
- A description for the Virtual Desktop Host Pool.
- Friendly
Name string - A friendly name for the Virtual Desktop Host Pool.
- Load
Balancer stringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- Location string
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- Maximum
Sessions intAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - Name string
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- Personal
Desktop stringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- Preferred
App stringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - Registration
Info HostPool Registration Info - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - Resource
Group stringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- Start
Vm boolOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - Dictionary<string, string>
- A mapping of tags to assign to the resource.
- Type string
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - Validate
Environment bool - Allows you to test service changes before they are deployed to production. Defaults to
false.
- Custom
Rdp stringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- Description string
- A description for the Virtual Desktop Host Pool.
- Friendly
Name string - A friendly name for the Virtual Desktop Host Pool.
- Load
Balancer stringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- Location string
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- Maximum
Sessions intAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - Name string
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- Personal
Desktop stringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- Preferred
App stringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - Registration
Info HostPool Registration Info Args - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - Resource
Group stringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- Start
Vm boolOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - map[string]string
- A mapping of tags to assign to the resource.
- Type string
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - Validate
Environment bool - Allows you to test service changes before they are deployed to production. Defaults to
false.
- custom
Rdp StringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- description String
- A description for the Virtual Desktop Host Pool.
- friendly
Name String - A friendly name for the Virtual Desktop Host Pool.
- load
Balancer StringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- location String
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- maximum
Sessions IntegerAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - name String
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- personal
Desktop StringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- preferred
App StringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - registration
Info HostPool Registration Info - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - resource
Group StringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- start
Vm BooleanOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - Map<String,String>
- A mapping of tags to assign to the resource.
- type String
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - validate
Environment Boolean - Allows you to test service changes before they are deployed to production. Defaults to
false.
- custom
Rdp stringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- description string
- A description for the Virtual Desktop Host Pool.
- friendly
Name string - A friendly name for the Virtual Desktop Host Pool.
- load
Balancer stringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- location string
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- maximum
Sessions numberAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - name string
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- personal
Desktop stringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- preferred
App stringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - registration
Info HostPool Registration Info - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - resource
Group stringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- start
Vm booleanOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - {[key: string]: string}
- A mapping of tags to assign to the resource.
- type string
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - validate
Environment boolean - Allows you to test service changes before they are deployed to production. Defaults to
false.
- custom_
rdp_ strproperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- description str
- A description for the Virtual Desktop Host Pool.
- friendly_
name str - A friendly name for the Virtual Desktop Host Pool.
- load_
balancer_ strtype BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- location str
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- maximum_
sessions_ intallowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - name str
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- personal_
desktop_ strassignment_ type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- preferred_
app_ strgroup_ type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - registration_
info HostPool Registration Info Args - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - resource_
group_ strname - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- start_
vm_ boolon_ connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - Mapping[str, str]
- A mapping of tags to assign to the resource.
- type str
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - validate_
environment bool - Allows you to test service changes before they are deployed to production. Defaults to
false.
- custom
Rdp StringProperties - A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
- description String
- A description for the Virtual Desktop Host Pool.
- friendly
Name String - A friendly name for the Virtual Desktop Host Pool.
- load
Balancer StringType BreadthFirstload balancing distributes new user sessions across all available session hosts in the host pool.DepthFirstload balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.Persistentshould be used if the host pool type isPersonal- location String
- The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
- maximum
Sessions NumberAllowed - A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
Should only be set if the
typeof your Virtual Desktop Host Pool isPooled. - name String
- The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
- personal
Desktop StringAssignment Type Automaticassignment – The service will select an available host and assign it to an user.DirectAssignment – Admin selects a specific host to assign to an user.- preferred
App StringGroup Type - Option to specify the preferred Application Group type for the Virtual Desktop Host Pool.
Valid options are
None,DesktoporRailApplications. Default isNone. - registration
Info Property Map - This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
azurerm_virtual_desktop_host_pool_registration_inforesource instead. - resource
Group StringName - The name of the resource group in which to create the Virtual Desktop Host Pool. Changing the resource group name forces a new resource to be created.
- start
Vm BooleanOn Connect - Enables or disables the Start VM on Connection Feature. Defaults to
false. - Map<String>
- A mapping of tags to assign to the resource.
- type String
- The type of the Virtual Desktop Host Pool. Valid options are
PersonalorPooled. Changing the type forces a new resource to be created. - validate
Environment Boolean - Allows you to test service changes before they are deployed to production. Defaults to
false.
Supporting Types
HostPoolRegistrationInfo, HostPoolRegistrationInfoArgs
- Expiration
Date string - Reset
Token bool - Token string
- Expiration
Date string - Reset
Token bool - Token string
- expiration
Date String - reset
Token Boolean - token String
- expiration
Date string - reset
Token boolean - token string
- expiration_
date str - reset_
token bool - token str
- expiration
Date String - reset
Token Boolean - token String
Import
Virtual Desktop Host Pools can be imported using the resource id, e.g.
$ pulumi import azure:desktopvirtualization/hostPool:HostPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/hostpools/myhostpool
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurermTerraform Provider.
We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
