1. Packages
  2. Azure Classic
  3. API Docs
  4. desktopvirtualization
  5. HostPool

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
azure logo

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
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:

    LoadBalancerType string
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    ResourceGroupName string
    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 Personal or Pooled. Changing the type forces a new resource to be created.
    CustomRdpProperties string
    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.
    FriendlyName 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.
    MaximumSessionsAllowed int
    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 type of your Virtual Desktop Host Pool is Pooled.
    Name string
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    PersonalDesktopAssignmentType string
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    PreferredAppGroupType string
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    RegistrationInfo HostPoolRegistrationInfo
    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_info resource instead.
    StartVmOnConnect bool
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    ValidateEnvironment bool
    Allows you to test service changes before they are deployed to production. Defaults to false.
    LoadBalancerType string
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    ResourceGroupName string
    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 Personal or Pooled. Changing the type forces a new resource to be created.
    CustomRdpProperties string
    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.
    FriendlyName 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.
    MaximumSessionsAllowed int
    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 type of your Virtual Desktop Host Pool is Pooled.
    Name string
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    PersonalDesktopAssignmentType string
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    PreferredAppGroupType string
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    RegistrationInfo HostPoolRegistrationInfoArgs
    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_info resource instead.
    StartVmOnConnect bool
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    ValidateEnvironment bool
    Allows you to test service changes before they are deployed to production. Defaults to false.
    loadBalancerType String
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    resourceGroupName String
    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 Personal or Pooled. Changing the type forces a new resource to be created.
    customRdpProperties String
    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.
    friendlyName 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.
    maximumSessionsAllowed Integer
    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 type of your Virtual Desktop Host Pool is Pooled.
    name String
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    personalDesktopAssignmentType String
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    preferredAppGroupType String
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    registrationInfo HostPoolRegistrationInfo
    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_info resource instead.
    startVmOnConnect Boolean
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    validateEnvironment Boolean
    Allows you to test service changes before they are deployed to production. Defaults to false.
    loadBalancerType string
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    resourceGroupName string
    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 Personal or Pooled. Changing the type forces a new resource to be created.
    customRdpProperties string
    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.
    friendlyName 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.
    maximumSessionsAllowed number
    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 type of your Virtual Desktop Host Pool is Pooled.
    name string
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    personalDesktopAssignmentType string
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    preferredAppGroupType string
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    registrationInfo HostPoolRegistrationInfo
    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_info resource instead.
    startVmOnConnect boolean
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    validateEnvironment boolean
    Allows you to test service changes before they are deployed to production. Defaults to false.
    load_balancer_type str
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    resource_group_name str
    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 Personal or Pooled. Changing the type forces a new resource to be created.
    custom_rdp_properties str
    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_allowed int
    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 type of your Virtual Desktop Host Pool is Pooled.
    name str
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    personal_desktop_assignment_type str
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    preferred_app_group_type str
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    registration_info HostPoolRegistrationInfoArgs
    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_info resource instead.
    start_vm_on_connect bool
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    tags 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.
    loadBalancerType String
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    resourceGroupName String
    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 Personal or Pooled. Changing the type forces a new resource to be created.
    customRdpProperties String
    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.
    friendlyName 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.
    maximumSessionsAllowed Number
    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 type of your Virtual Desktop Host Pool is Pooled.
    name String
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    personalDesktopAssignmentType String
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    preferredAppGroupType String
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    registrationInfo 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_info resource instead.
    startVmOnConnect Boolean
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    tags Map<String>
    A mapping of tags to assign to the resource.
    validateEnvironment 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) -> HostPool
    func 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.
    The following state arguments are supported:
    CustomRdpProperties string
    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.
    FriendlyName string
    A friendly name for the Virtual Desktop Host Pool.
    LoadBalancerType string
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    Location string
    The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
    MaximumSessionsAllowed int
    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 type of your Virtual Desktop Host Pool is Pooled.
    Name string
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    PersonalDesktopAssignmentType string
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    PreferredAppGroupType string
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    RegistrationInfo HostPoolRegistrationInfo
    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_info resource instead.
    ResourceGroupName string
    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.
    StartVmOnConnect bool
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    Tags 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 Personal or Pooled. Changing the type forces a new resource to be created.
    ValidateEnvironment bool
    Allows you to test service changes before they are deployed to production. Defaults to false.
    CustomRdpProperties string
    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.
    FriendlyName string
    A friendly name for the Virtual Desktop Host Pool.
    LoadBalancerType string
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    Location string
    The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
    MaximumSessionsAllowed int
    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 type of your Virtual Desktop Host Pool is Pooled.
    Name string
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    PersonalDesktopAssignmentType string
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    PreferredAppGroupType string
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    RegistrationInfo HostPoolRegistrationInfoArgs
    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_info resource instead.
    ResourceGroupName string
    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.
    StartVmOnConnect bool
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    Tags 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 Personal or Pooled. Changing the type forces a new resource to be created.
    ValidateEnvironment bool
    Allows you to test service changes before they are deployed to production. Defaults to false.
    customRdpProperties String
    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.
    friendlyName String
    A friendly name for the Virtual Desktop Host Pool.
    loadBalancerType String
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    location String
    The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
    maximumSessionsAllowed Integer
    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 type of your Virtual Desktop Host Pool is Pooled.
    name String
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    personalDesktopAssignmentType String
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    preferredAppGroupType String
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    registrationInfo HostPoolRegistrationInfo
    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_info resource instead.
    resourceGroupName String
    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.
    startVmOnConnect Boolean
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    tags 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 Personal or Pooled. Changing the type forces a new resource to be created.
    validateEnvironment Boolean
    Allows you to test service changes before they are deployed to production. Defaults to false.
    customRdpProperties string
    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.
    friendlyName string
    A friendly name for the Virtual Desktop Host Pool.
    loadBalancerType string
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    location string
    The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
    maximumSessionsAllowed number
    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 type of your Virtual Desktop Host Pool is Pooled.
    name string
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    personalDesktopAssignmentType string
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    preferredAppGroupType string
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    registrationInfo HostPoolRegistrationInfo
    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_info resource instead.
    resourceGroupName string
    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.
    startVmOnConnect boolean
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    tags {[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 Personal or Pooled. Changing the type forces a new resource to be created.
    validateEnvironment boolean
    Allows you to test service changes before they are deployed to production. Defaults to false.
    custom_rdp_properties str
    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_type str
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    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_allowed int
    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 type of your Virtual Desktop Host Pool is Pooled.
    name str
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    personal_desktop_assignment_type str
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    preferred_app_group_type str
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    registration_info HostPoolRegistrationInfoArgs
    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_info resource instead.
    resource_group_name str
    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_on_connect bool
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    tags 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 Personal or Pooled. 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.
    customRdpProperties String
    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.
    friendlyName String
    A friendly name for the Virtual Desktop Host Pool.
    loadBalancerType String
    BreadthFirst load balancing distributes new user sessions across all available session hosts in the host pool. DepthFirst load 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. Persistent should be used if the host pool type is Personal
    location String
    The location/region where the Virtual Desktop Host Pool is located. Changing the location/region forces a new resource to be created.
    maximumSessionsAllowed Number
    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 type of your Virtual Desktop Host Pool is Pooled.
    name String
    The name of the Virtual Desktop Host Pool. Changing the name forces a new resource to be created.
    personalDesktopAssignmentType String
    Automatic assignment – The service will select an available host and assign it to an user. Direct Assignment – Admin selects a specific host to assign to an user.
    preferredAppGroupType String
    Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None, Desktop or RailApplications. Default is None.
    registrationInfo 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_info resource instead.
    resourceGroupName String
    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.
    startVmOnConnect Boolean
    Enables or disables the Start VM on Connection Feature. Defaults to false.
    tags Map<String>
    A mapping of tags to assign to the resource.
    type String
    The type of the Virtual Desktop Host Pool. Valid options are Personal or Pooled. Changing the type forces a new resource to be created.
    validateEnvironment Boolean
    Allows you to test service changes before they are deployed to production. Defaults to false.

    Supporting Types

    HostPoolRegistrationInfo, HostPoolRegistrationInfoArgs

    ExpirationDate string

    Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the azurerm_virtual_desktop_host_pool_registration_info resource instead.

    ResetToken bool
    Token string
    ExpirationDate string

    Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the azurerm_virtual_desktop_host_pool_registration_info resource instead.

    ResetToken bool
    Token string
    expirationDate String

    Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the azurerm_virtual_desktop_host_pool_registration_info resource instead.

    resetToken Boolean
    token String
    expirationDate string

    Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the azurerm_virtual_desktop_host_pool_registration_info resource instead.

    resetToken boolean
    token string
    expiration_date str

    Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the azurerm_virtual_desktop_host_pool_registration_info resource instead.

    reset_token bool
    token str
    expirationDate String

    Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the azurerm_virtual_desktop_host_pool_registration_info resource instead.

    resetToken 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 azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Viewing docs for Azure v4.42.0 (Older version)
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.