Host Pool Args
Manages a Virtual Desktop Host Pool.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleHostPool = new azure.desktopvirtualization.HostPool("example", {
location: example.location,
resourceGroupName: example.name,
name: "pooleddepthfirst",
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",
scheduledAgentUpdates: {
enabled: true,
schedules: [{
dayOfWeek: "Saturday",
hourOfDay: 2,
}],
},
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_host_pool = azure.desktopvirtualization.HostPool("example",
location=example.location,
resource_group_name=example.name,
name="pooleddepthfirst",
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",
scheduled_agent_updates={
"enabled": True,
"schedules": [{
"day_of_week": "Saturday",
"hour_of_day": 2,
}],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleHostPool = new Azure.DesktopVirtualization.HostPool("example", new()
{
Location = example.Location,
ResourceGroupName = example.Name,
Name = "pooleddepthfirst",
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",
ScheduledAgentUpdates = new Azure.DesktopVirtualization.Inputs.HostPoolScheduledAgentUpdatesArgs
{
Enabled = true,
Schedules = new[]
{
new Azure.DesktopVirtualization.Inputs.HostPoolScheduledAgentUpdatesScheduleArgs
{
DayOfWeek = "Saturday",
HourOfDay = 2,
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
_, err = desktopvirtualization.NewHostPool(ctx, "example", &desktopvirtualization.HostPoolArgs{
Location: example.Location,
ResourceGroupName: example.Name,
Name: pulumi.String("pooleddepthfirst"),
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"),
ScheduledAgentUpdates: &desktopvirtualization.HostPoolScheduledAgentUpdatesArgs{
Enabled: pulumi.Bool(true),
Schedules: desktopvirtualization.HostPoolScheduledAgentUpdatesScheduleArray{
&desktopvirtualization.HostPoolScheduledAgentUpdatesScheduleArgs{
DayOfWeek: pulumi.String("Saturday"),
HourOfDay: pulumi.Int(2),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.desktopvirtualization.HostPool;
import com.pulumi.azure.desktopvirtualization.HostPoolArgs;
import com.pulumi.azure.desktopvirtualization.inputs.HostPoolScheduledAgentUpdatesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleHostPool = new HostPool("exampleHostPool", HostPoolArgs.builder()
.location(example.location())
.resourceGroupName(example.name())
.name("pooleddepthfirst")
.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")
.scheduledAgentUpdates(HostPoolScheduledAgentUpdatesArgs.builder()
.enabled(true)
.schedules(HostPoolScheduledAgentUpdatesScheduleArgs.builder()
.dayOfWeek("Saturday")
.hourOfDay(2)
.build())
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleHostPool:
type: azure:desktopvirtualization:HostPool
name: example
properties:
location: ${example.location}
resourceGroupName: ${example.name}
name: pooleddepthfirst
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
scheduledAgentUpdates:
enabled: true
schedules:
- dayOfWeek: Saturday
hourOfDay: 2
API Providers
This resource uses the following Azure API Providers:
Microsoft.DesktopVirtualization
: 2024-04-03
Import
Virtual Desktop Host Pools can be imported using the resource id
, e.g. text
$ pulumi import azure:desktopvirtualization/hostPool:HostPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/hostPools/myhostpool
Constructors
Properties
A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be found in this article.
A description for the Virtual Desktop Host Pool.
A friendly name for the Virtual Desktop Host Pool.
BreadthFirst
load balancing distributes new user sessions across all available session hosts in the host pool. Possible values are BreadthFirst
, DepthFirst
and Persistent
. 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
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
.
Automatic
assignment – The service will select an available host and assign it to an user. Possible values are Automatic
and Direct
. Direct
Assignment – Admin selects a specific host to assign to an user. Changing this forces a new resource to be created.
Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are None
, Desktop
or RailApplications
. Default is Desktop
.
Whether public network access is allowed for the Virtual Desktop Host Pool. Possible values are Enabled
, Disabled
, EnabledForClientsOnly
and EnabledForSessionHostsOnly
. Defaults to Enabled
.
The name of the resource group in which to create the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
A scheduled_agent_updates
block as defined below. This enables control of when Agent Updates will be applied to Session Hosts.
Enables or disables the Start VM on Connection Feature. Defaults to false
.
Allows you to test service changes before they are deployed to production. Defaults to false
.
A VM template for session hosts configuration within hostpool. This is a JSON string.