We recommend using Azure Native.
azure.desktopvirtualization.ScalingPlan
Explore with Pulumi AI
Manages a Virtual Desktop Scaling Plan.
Disclaimers
Note Scaling Plans are currently in preview and are only supported in a limited number of regions. Both the Scaling Plan and any referenced Host Pools must be deployed in a supported region. Autoscale (preview) for Azure Virtual Desktop host pools.
Note Scaling Plans require specific permissions to be granted to the Windows Virtual Desktop application before a ‘host_pool’ can be configured. Required Permissions for Scaling Plans.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as azuread from "@pulumi/azuread";
import * as random from "@pulumi/random";
const exampleRandomUuid = new random.RandomUuid("example", {});
const exampleResourceGroup = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleRoleDefinition = new azure.authorization.RoleDefinition("example", {
name: "AVD-AutoScale",
scope: exampleResourceGroup.id,
description: "AVD AutoScale Role",
permissions: [{
actions: [
"Microsoft.Insights/eventtypes/values/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.DesktopVirtualization/hostpools/read",
"Microsoft.DesktopVirtualization/hostpools/write",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/write",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/delete",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/sendMessage/action",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read",
],
notActions: [],
}],
assignableScopes: [exampleResourceGroup.id],
});
const example = azuread.getServicePrincipal({
displayName: "Azure Virtual Desktop",
});
const exampleAssignment = new azure.authorization.Assignment("example", {
name: exampleRandomUuid.result,
scope: exampleResourceGroup.id,
roleDefinitionId: exampleRoleDefinition.roleDefinitionResourceId,
principalId: example.then(example => example.id),
skipServicePrincipalAadCheck: true,
});
const exampleHostPool = new azure.desktopvirtualization.HostPool("example", {
name: "example-hostpool",
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
type: "Pooled",
validateEnvironment: true,
loadBalancerType: "BreadthFirst",
});
const exampleScalingPlan = new azure.desktopvirtualization.ScalingPlan("example", {
name: "example-scaling-plan",
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
friendlyName: "Scaling Plan Example",
description: "Example Scaling Plan",
timeZone: "GMT Standard Time",
schedules: [{
name: "Weekdays",
daysOfWeeks: [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
],
rampUpStartTime: "05:00",
rampUpLoadBalancingAlgorithm: "BreadthFirst",
rampUpMinimumHostsPercent: 20,
rampUpCapacityThresholdPercent: 10,
peakStartTime: "09:00",
peakLoadBalancingAlgorithm: "BreadthFirst",
rampDownStartTime: "19:00",
rampDownLoadBalancingAlgorithm: "DepthFirst",
rampDownMinimumHostsPercent: 10,
rampDownForceLogoffUsers: false,
rampDownWaitTimeMinutes: 45,
rampDownNotificationMessage: "Please log off in the next 45 minutes...",
rampDownCapacityThresholdPercent: 5,
rampDownStopHostsWhen: "ZeroSessions",
offPeakStartTime: "22:00",
offPeakLoadBalancingAlgorithm: "DepthFirst",
}],
hostPools: [{
hostpoolId: exampleHostPool.id,
scalingPlanEnabled: true,
}],
});
import pulumi
import pulumi_azure as azure
import pulumi_azuread as azuread
import pulumi_random as random
example_random_uuid = random.RandomUuid("example")
example_resource_group = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_role_definition = azure.authorization.RoleDefinition("example",
name="AVD-AutoScale",
scope=example_resource_group.id,
description="AVD AutoScale Role",
permissions=[{
"actions": [
"Microsoft.Insights/eventtypes/values/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.DesktopVirtualization/hostpools/read",
"Microsoft.DesktopVirtualization/hostpools/write",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/write",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/delete",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/sendMessage/action",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read",
],
"not_actions": [],
}],
assignable_scopes=[example_resource_group.id])
example = azuread.get_service_principal(display_name="Azure Virtual Desktop")
example_assignment = azure.authorization.Assignment("example",
name=example_random_uuid.result,
scope=example_resource_group.id,
role_definition_id=example_role_definition.role_definition_resource_id,
principal_id=example.id,
skip_service_principal_aad_check=True)
example_host_pool = azure.desktopvirtualization.HostPool("example",
name="example-hostpool",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
type="Pooled",
validate_environment=True,
load_balancer_type="BreadthFirst")
example_scaling_plan = azure.desktopvirtualization.ScalingPlan("example",
name="example-scaling-plan",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
friendly_name="Scaling Plan Example",
description="Example Scaling Plan",
time_zone="GMT Standard Time",
schedules=[{
"name": "Weekdays",
"days_of_weeks": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
],
"ramp_up_start_time": "05:00",
"ramp_up_load_balancing_algorithm": "BreadthFirst",
"ramp_up_minimum_hosts_percent": 20,
"ramp_up_capacity_threshold_percent": 10,
"peak_start_time": "09:00",
"peak_load_balancing_algorithm": "BreadthFirst",
"ramp_down_start_time": "19:00",
"ramp_down_load_balancing_algorithm": "DepthFirst",
"ramp_down_minimum_hosts_percent": 10,
"ramp_down_force_logoff_users": False,
"ramp_down_wait_time_minutes": 45,
"ramp_down_notification_message": "Please log off in the next 45 minutes...",
"ramp_down_capacity_threshold_percent": 5,
"ramp_down_stop_hosts_when": "ZeroSessions",
"off_peak_start_time": "22:00",
"off_peak_load_balancing_algorithm": "DepthFirst",
}],
host_pools=[{
"hostpool_id": example_host_pool.id,
"scaling_plan_enabled": True,
}])
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleRandomUuid, err := random.NewRandomUuid(ctx, "example", nil)
if err != nil {
return err
}
exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, "example", &authorization.RoleDefinitionArgs{
Name: pulumi.String("AVD-AutoScale"),
Scope: exampleResourceGroup.ID(),
Description: pulumi.String("AVD AutoScale Role"),
Permissions: authorization.RoleDefinitionPermissionArray{
&authorization.RoleDefinitionPermissionArgs{
Actions: pulumi.StringArray{
pulumi.String("Microsoft.Insights/eventtypes/values/read"),
pulumi.String("Microsoft.Compute/virtualMachines/deallocate/action"),
pulumi.String("Microsoft.Compute/virtualMachines/restart/action"),
pulumi.String("Microsoft.Compute/virtualMachines/powerOff/action"),
pulumi.String("Microsoft.Compute/virtualMachines/start/action"),
pulumi.String("Microsoft.Compute/virtualMachines/read"),
pulumi.String("Microsoft.DesktopVirtualization/hostpools/read"),
pulumi.String("Microsoft.DesktopVirtualization/hostpools/write"),
pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/read"),
pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/write"),
pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/delete"),
pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read"),
pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/sendMessage/action"),
pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read"),
},
NotActions: pulumi.StringArray{},
},
},
AssignableScopes: pulumi.StringArray{
exampleResourceGroup.ID(),
},
})
if err != nil {
return err
}
example, err := azuread.LookupServicePrincipal(ctx, &azuread.LookupServicePrincipalArgs{
DisplayName: pulumi.StringRef("Azure Virtual Desktop"),
}, nil)
if err != nil {
return err
}
_, err = authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{
Name: exampleRandomUuid.Result,
Scope: exampleResourceGroup.ID(),
RoleDefinitionId: exampleRoleDefinition.RoleDefinitionResourceId,
PrincipalId: pulumi.String(example.Id),
SkipServicePrincipalAadCheck: pulumi.Bool(true),
})
if err != nil {
return err
}
exampleHostPool, err := desktopvirtualization.NewHostPool(ctx, "example", &desktopvirtualization.HostPoolArgs{
Name: pulumi.String("example-hostpool"),
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
Type: pulumi.String("Pooled"),
ValidateEnvironment: pulumi.Bool(true),
LoadBalancerType: pulumi.String("BreadthFirst"),
})
if err != nil {
return err
}
_, err = desktopvirtualization.NewScalingPlan(ctx, "example", &desktopvirtualization.ScalingPlanArgs{
Name: pulumi.String("example-scaling-plan"),
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
FriendlyName: pulumi.String("Scaling Plan Example"),
Description: pulumi.String("Example Scaling Plan"),
TimeZone: pulumi.String("GMT Standard Time"),
Schedules: desktopvirtualization.ScalingPlanScheduleArray{
&desktopvirtualization.ScalingPlanScheduleArgs{
Name: pulumi.String("Weekdays"),
DaysOfWeeks: pulumi.StringArray{
pulumi.String("Monday"),
pulumi.String("Tuesday"),
pulumi.String("Wednesday"),
pulumi.String("Thursday"),
pulumi.String("Friday"),
},
RampUpStartTime: pulumi.String("05:00"),
RampUpLoadBalancingAlgorithm: pulumi.String("BreadthFirst"),
RampUpMinimumHostsPercent: pulumi.Int(20),
RampUpCapacityThresholdPercent: pulumi.Int(10),
PeakStartTime: pulumi.String("09:00"),
PeakLoadBalancingAlgorithm: pulumi.String("BreadthFirst"),
RampDownStartTime: pulumi.String("19:00"),
RampDownLoadBalancingAlgorithm: pulumi.String("DepthFirst"),
RampDownMinimumHostsPercent: pulumi.Int(10),
RampDownForceLogoffUsers: pulumi.Bool(false),
RampDownWaitTimeMinutes: pulumi.Int(45),
RampDownNotificationMessage: pulumi.String("Please log off in the next 45 minutes..."),
RampDownCapacityThresholdPercent: pulumi.Int(5),
RampDownStopHostsWhen: pulumi.String("ZeroSessions"),
OffPeakStartTime: pulumi.String("22:00"),
OffPeakLoadBalancingAlgorithm: pulumi.String("DepthFirst"),
},
},
HostPools: desktopvirtualization.ScalingPlanHostPoolArray{
&desktopvirtualization.ScalingPlanHostPoolArgs{
HostpoolId: exampleHostPool.ID(),
ScalingPlanEnabled: pulumi.Bool(true),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using AzureAD = Pulumi.AzureAD;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var exampleRandomUuid = new Random.RandomUuid("example");
var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleRoleDefinition = new Azure.Authorization.RoleDefinition("example", new()
{
Name = "AVD-AutoScale",
Scope = exampleResourceGroup.Id,
Description = "AVD AutoScale Role",
Permissions = new[]
{
new Azure.Authorization.Inputs.RoleDefinitionPermissionArgs
{
Actions = new[]
{
"Microsoft.Insights/eventtypes/values/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.DesktopVirtualization/hostpools/read",
"Microsoft.DesktopVirtualization/hostpools/write",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/write",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/delete",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/sendMessage/action",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read",
},
NotActions = new() { },
},
},
AssignableScopes = new[]
{
exampleResourceGroup.Id,
},
});
var example = AzureAD.GetServicePrincipal.Invoke(new()
{
DisplayName = "Azure Virtual Desktop",
});
var exampleAssignment = new Azure.Authorization.Assignment("example", new()
{
Name = exampleRandomUuid.Result,
Scope = exampleResourceGroup.Id,
RoleDefinitionId = exampleRoleDefinition.RoleDefinitionResourceId,
PrincipalId = example.Apply(getServicePrincipalResult => getServicePrincipalResult.Id),
SkipServicePrincipalAadCheck = true,
});
var exampleHostPool = new Azure.DesktopVirtualization.HostPool("example", new()
{
Name = "example-hostpool",
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
Type = "Pooled",
ValidateEnvironment = true,
LoadBalancerType = "BreadthFirst",
});
var exampleScalingPlan = new Azure.DesktopVirtualization.ScalingPlan("example", new()
{
Name = "example-scaling-plan",
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
FriendlyName = "Scaling Plan Example",
Description = "Example Scaling Plan",
TimeZone = "GMT Standard Time",
Schedules = new[]
{
new Azure.DesktopVirtualization.Inputs.ScalingPlanScheduleArgs
{
Name = "Weekdays",
DaysOfWeeks = new[]
{
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
},
RampUpStartTime = "05:00",
RampUpLoadBalancingAlgorithm = "BreadthFirst",
RampUpMinimumHostsPercent = 20,
RampUpCapacityThresholdPercent = 10,
PeakStartTime = "09:00",
PeakLoadBalancingAlgorithm = "BreadthFirst",
RampDownStartTime = "19:00",
RampDownLoadBalancingAlgorithm = "DepthFirst",
RampDownMinimumHostsPercent = 10,
RampDownForceLogoffUsers = false,
RampDownWaitTimeMinutes = 45,
RampDownNotificationMessage = "Please log off in the next 45 minutes...",
RampDownCapacityThresholdPercent = 5,
RampDownStopHostsWhen = "ZeroSessions",
OffPeakStartTime = "22:00",
OffPeakLoadBalancingAlgorithm = "DepthFirst",
},
},
HostPools = new[]
{
new Azure.DesktopVirtualization.Inputs.ScalingPlanHostPoolArgs
{
HostpoolId = exampleHostPool.Id,
ScalingPlanEnabled = true,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.RandomUuid;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.authorization.RoleDefinition;
import com.pulumi.azure.authorization.RoleDefinitionArgs;
import com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;
import com.pulumi.azuread.AzureadFunctions;
import com.pulumi.azuread.inputs.GetServicePrincipalArgs;
import com.pulumi.azure.authorization.Assignment;
import com.pulumi.azure.authorization.AssignmentArgs;
import com.pulumi.azure.desktopvirtualization.HostPool;
import com.pulumi.azure.desktopvirtualization.HostPoolArgs;
import com.pulumi.azure.desktopvirtualization.ScalingPlan;
import com.pulumi.azure.desktopvirtualization.ScalingPlanArgs;
import com.pulumi.azure.desktopvirtualization.inputs.ScalingPlanScheduleArgs;
import com.pulumi.azure.desktopvirtualization.inputs.ScalingPlanHostPoolArgs;
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 exampleRandomUuid = new RandomUuid("exampleRandomUuid");
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleRoleDefinition = new RoleDefinition("exampleRoleDefinition", RoleDefinitionArgs.builder()
.name("AVD-AutoScale")
.scope(exampleResourceGroup.id())
.description("AVD AutoScale Role")
.permissions(RoleDefinitionPermissionArgs.builder()
.actions(
"Microsoft.Insights/eventtypes/values/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.DesktopVirtualization/hostpools/read",
"Microsoft.DesktopVirtualization/hostpools/write",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/read",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/write",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/delete",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/sendMessage/action",
"Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read")
.notActions()
.build())
.assignableScopes(exampleResourceGroup.id())
.build());
final var example = AzureadFunctions.getServicePrincipal(GetServicePrincipalArgs.builder()
.displayName("Azure Virtual Desktop")
.build());
var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
.name(exampleRandomUuid.result())
.scope(exampleResourceGroup.id())
.roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())
.principalId(example.applyValue(getServicePrincipalResult -> getServicePrincipalResult.id()))
.skipServicePrincipalAadCheck(true)
.build());
var exampleHostPool = new HostPool("exampleHostPool", HostPoolArgs.builder()
.name("example-hostpool")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.type("Pooled")
.validateEnvironment(true)
.loadBalancerType("BreadthFirst")
.build());
var exampleScalingPlan = new ScalingPlan("exampleScalingPlan", ScalingPlanArgs.builder()
.name("example-scaling-plan")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.friendlyName("Scaling Plan Example")
.description("Example Scaling Plan")
.timeZone("GMT Standard Time")
.schedules(ScalingPlanScheduleArgs.builder()
.name("Weekdays")
.daysOfWeeks(
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday")
.rampUpStartTime("05:00")
.rampUpLoadBalancingAlgorithm("BreadthFirst")
.rampUpMinimumHostsPercent(20)
.rampUpCapacityThresholdPercent(10)
.peakStartTime("09:00")
.peakLoadBalancingAlgorithm("BreadthFirst")
.rampDownStartTime("19:00")
.rampDownLoadBalancingAlgorithm("DepthFirst")
.rampDownMinimumHostsPercent(10)
.rampDownForceLogoffUsers(false)
.rampDownWaitTimeMinutes(45)
.rampDownNotificationMessage("Please log off in the next 45 minutes...")
.rampDownCapacityThresholdPercent(5)
.rampDownStopHostsWhen("ZeroSessions")
.offPeakStartTime("22:00")
.offPeakLoadBalancingAlgorithm("DepthFirst")
.build())
.hostPools(ScalingPlanHostPoolArgs.builder()
.hostpoolId(exampleHostPool.id())
.scalingPlanEnabled(true)
.build())
.build());
}
}
resources:
exampleRandomUuid:
type: random:RandomUuid
name: example
exampleResourceGroup:
type: azure:core:ResourceGroup
name: example
properties:
name: example-resources
location: West Europe
exampleRoleDefinition:
type: azure:authorization:RoleDefinition
name: example
properties:
name: AVD-AutoScale
scope: ${exampleResourceGroup.id}
description: AVD AutoScale Role
permissions:
- actions:
- Microsoft.Insights/eventtypes/values/read
- Microsoft.Compute/virtualMachines/deallocate/action
- Microsoft.Compute/virtualMachines/restart/action
- Microsoft.Compute/virtualMachines/powerOff/action
- Microsoft.Compute/virtualMachines/start/action
- Microsoft.Compute/virtualMachines/read
- Microsoft.DesktopVirtualization/hostpools/read
- Microsoft.DesktopVirtualization/hostpools/write
- Microsoft.DesktopVirtualization/hostpools/sessionhosts/read
- Microsoft.DesktopVirtualization/hostpools/sessionhosts/write
- Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/delete
- Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read
- Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/sendMessage/action
- Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read
notActions: []
assignableScopes:
- ${exampleResourceGroup.id}
exampleAssignment:
type: azure:authorization:Assignment
name: example
properties:
name: ${exampleRandomUuid.result}
scope: ${exampleResourceGroup.id}
roleDefinitionId: ${exampleRoleDefinition.roleDefinitionResourceId}
principalId: ${example.id}
skipServicePrincipalAadCheck: true
exampleHostPool:
type: azure:desktopvirtualization:HostPool
name: example
properties:
name: example-hostpool
location: ${exampleResourceGroup.location}
resourceGroupName: ${exampleResourceGroup.name}
type: Pooled
validateEnvironment: true
loadBalancerType: BreadthFirst
exampleScalingPlan:
type: azure:desktopvirtualization:ScalingPlan
name: example
properties:
name: example-scaling-plan
location: ${exampleResourceGroup.location}
resourceGroupName: ${exampleResourceGroup.name}
friendlyName: Scaling Plan Example
description: Example Scaling Plan
timeZone: GMT Standard Time
schedules:
- name: Weekdays
daysOfWeeks:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
rampUpStartTime: 05:00
rampUpLoadBalancingAlgorithm: BreadthFirst
rampUpMinimumHostsPercent: 20
rampUpCapacityThresholdPercent: 10
peakStartTime: 09:00
peakLoadBalancingAlgorithm: BreadthFirst
rampDownStartTime: 19:00
rampDownLoadBalancingAlgorithm: DepthFirst
rampDownMinimumHostsPercent: 10
rampDownForceLogoffUsers: false
rampDownWaitTimeMinutes: 45
rampDownNotificationMessage: Please log off in the next 45 minutes...
rampDownCapacityThresholdPercent: 5
rampDownStopHostsWhen: ZeroSessions
offPeakStartTime: 22:00
offPeakLoadBalancingAlgorithm: DepthFirst
hostPools:
- hostpoolId: ${exampleHostPool.id}
scalingPlanEnabled: true
variables:
example:
fn::invoke:
Function: azuread:getServicePrincipal
Arguments:
displayName: Azure Virtual Desktop
Create ScalingPlan Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ScalingPlan(name: string, args: ScalingPlanArgs, opts?: CustomResourceOptions);
@overload
def ScalingPlan(resource_name: str,
args: ScalingPlanArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ScalingPlan(resource_name: str,
opts: Optional[ResourceOptions] = None,
resource_group_name: Optional[str] = None,
schedules: Optional[Sequence[ScalingPlanScheduleArgs]] = None,
time_zone: Optional[str] = None,
description: Optional[str] = None,
exclusion_tag: Optional[str] = None,
friendly_name: Optional[str] = None,
host_pools: Optional[Sequence[ScalingPlanHostPoolArgs]] = None,
location: Optional[str] = None,
name: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None)
func NewScalingPlan(ctx *Context, name string, args ScalingPlanArgs, opts ...ResourceOption) (*ScalingPlan, error)
public ScalingPlan(string name, ScalingPlanArgs args, CustomResourceOptions? opts = null)
public ScalingPlan(String name, ScalingPlanArgs args)
public ScalingPlan(String name, ScalingPlanArgs args, CustomResourceOptions options)
type: azure:desktopvirtualization:ScalingPlan
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 ScalingPlanArgs
- 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 ScalingPlanArgs
- 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 ScalingPlanArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ScalingPlanArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ScalingPlanArgs
- 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 scalingPlanResource = new Azure.DesktopVirtualization.ScalingPlan("scalingPlanResource", new()
{
ResourceGroupName = "string",
Schedules = new[]
{
new Azure.DesktopVirtualization.Inputs.ScalingPlanScheduleArgs
{
RampDownLoadBalancingAlgorithm = "string",
OffPeakLoadBalancingAlgorithm = "string",
RampDownMinimumHostsPercent = 0,
RampDownNotificationMessage = "string",
PeakLoadBalancingAlgorithm = "string",
PeakStartTime = "string",
RampDownCapacityThresholdPercent = 0,
RampDownForceLogoffUsers = false,
RampUpStartTime = "string",
Name = "string",
OffPeakStartTime = "string",
RampDownStartTime = "string",
RampDownStopHostsWhen = "string",
RampDownWaitTimeMinutes = 0,
DaysOfWeeks = new[]
{
"string",
},
RampUpLoadBalancingAlgorithm = "string",
RampUpMinimumHostsPercent = 0,
RampUpCapacityThresholdPercent = 0,
},
},
TimeZone = "string",
Description = "string",
ExclusionTag = "string",
FriendlyName = "string",
HostPools = new[]
{
new Azure.DesktopVirtualization.Inputs.ScalingPlanHostPoolArgs
{
HostpoolId = "string",
ScalingPlanEnabled = false,
},
},
Location = "string",
Name = "string",
Tags =
{
{ "string", "string" },
},
});
example, err := desktopvirtualization.NewScalingPlan(ctx, "scalingPlanResource", &desktopvirtualization.ScalingPlanArgs{
ResourceGroupName: pulumi.String("string"),
Schedules: desktopvirtualization.ScalingPlanScheduleArray{
&desktopvirtualization.ScalingPlanScheduleArgs{
RampDownLoadBalancingAlgorithm: pulumi.String("string"),
OffPeakLoadBalancingAlgorithm: pulumi.String("string"),
RampDownMinimumHostsPercent: pulumi.Int(0),
RampDownNotificationMessage: pulumi.String("string"),
PeakLoadBalancingAlgorithm: pulumi.String("string"),
PeakStartTime: pulumi.String("string"),
RampDownCapacityThresholdPercent: pulumi.Int(0),
RampDownForceLogoffUsers: pulumi.Bool(false),
RampUpStartTime: pulumi.String("string"),
Name: pulumi.String("string"),
OffPeakStartTime: pulumi.String("string"),
RampDownStartTime: pulumi.String("string"),
RampDownStopHostsWhen: pulumi.String("string"),
RampDownWaitTimeMinutes: pulumi.Int(0),
DaysOfWeeks: pulumi.StringArray{
pulumi.String("string"),
},
RampUpLoadBalancingAlgorithm: pulumi.String("string"),
RampUpMinimumHostsPercent: pulumi.Int(0),
RampUpCapacityThresholdPercent: pulumi.Int(0),
},
},
TimeZone: pulumi.String("string"),
Description: pulumi.String("string"),
ExclusionTag: pulumi.String("string"),
FriendlyName: pulumi.String("string"),
HostPools: desktopvirtualization.ScalingPlanHostPoolArray{
&desktopvirtualization.ScalingPlanHostPoolArgs{
HostpoolId: pulumi.String("string"),
ScalingPlanEnabled: pulumi.Bool(false),
},
},
Location: pulumi.String("string"),
Name: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
})
var scalingPlanResource = new ScalingPlan("scalingPlanResource", ScalingPlanArgs.builder()
.resourceGroupName("string")
.schedules(ScalingPlanScheduleArgs.builder()
.rampDownLoadBalancingAlgorithm("string")
.offPeakLoadBalancingAlgorithm("string")
.rampDownMinimumHostsPercent(0)
.rampDownNotificationMessage("string")
.peakLoadBalancingAlgorithm("string")
.peakStartTime("string")
.rampDownCapacityThresholdPercent(0)
.rampDownForceLogoffUsers(false)
.rampUpStartTime("string")
.name("string")
.offPeakStartTime("string")
.rampDownStartTime("string")
.rampDownStopHostsWhen("string")
.rampDownWaitTimeMinutes(0)
.daysOfWeeks("string")
.rampUpLoadBalancingAlgorithm("string")
.rampUpMinimumHostsPercent(0)
.rampUpCapacityThresholdPercent(0)
.build())
.timeZone("string")
.description("string")
.exclusionTag("string")
.friendlyName("string")
.hostPools(ScalingPlanHostPoolArgs.builder()
.hostpoolId("string")
.scalingPlanEnabled(false)
.build())
.location("string")
.name("string")
.tags(Map.of("string", "string"))
.build());
scaling_plan_resource = azure.desktopvirtualization.ScalingPlan("scalingPlanResource",
resource_group_name="string",
schedules=[{
"ramp_down_load_balancing_algorithm": "string",
"off_peak_load_balancing_algorithm": "string",
"ramp_down_minimum_hosts_percent": 0,
"ramp_down_notification_message": "string",
"peak_load_balancing_algorithm": "string",
"peak_start_time": "string",
"ramp_down_capacity_threshold_percent": 0,
"ramp_down_force_logoff_users": False,
"ramp_up_start_time": "string",
"name": "string",
"off_peak_start_time": "string",
"ramp_down_start_time": "string",
"ramp_down_stop_hosts_when": "string",
"ramp_down_wait_time_minutes": 0,
"days_of_weeks": ["string"],
"ramp_up_load_balancing_algorithm": "string",
"ramp_up_minimum_hosts_percent": 0,
"ramp_up_capacity_threshold_percent": 0,
}],
time_zone="string",
description="string",
exclusion_tag="string",
friendly_name="string",
host_pools=[{
"hostpool_id": "string",
"scaling_plan_enabled": False,
}],
location="string",
name="string",
tags={
"string": "string",
})
const scalingPlanResource = new azure.desktopvirtualization.ScalingPlan("scalingPlanResource", {
resourceGroupName: "string",
schedules: [{
rampDownLoadBalancingAlgorithm: "string",
offPeakLoadBalancingAlgorithm: "string",
rampDownMinimumHostsPercent: 0,
rampDownNotificationMessage: "string",
peakLoadBalancingAlgorithm: "string",
peakStartTime: "string",
rampDownCapacityThresholdPercent: 0,
rampDownForceLogoffUsers: false,
rampUpStartTime: "string",
name: "string",
offPeakStartTime: "string",
rampDownStartTime: "string",
rampDownStopHostsWhen: "string",
rampDownWaitTimeMinutes: 0,
daysOfWeeks: ["string"],
rampUpLoadBalancingAlgorithm: "string",
rampUpMinimumHostsPercent: 0,
rampUpCapacityThresholdPercent: 0,
}],
timeZone: "string",
description: "string",
exclusionTag: "string",
friendlyName: "string",
hostPools: [{
hostpoolId: "string",
scalingPlanEnabled: false,
}],
location: "string",
name: "string",
tags: {
string: "string",
},
});
type: azure:desktopvirtualization:ScalingPlan
properties:
description: string
exclusionTag: string
friendlyName: string
hostPools:
- hostpoolId: string
scalingPlanEnabled: false
location: string
name: string
resourceGroupName: string
schedules:
- daysOfWeeks:
- string
name: string
offPeakLoadBalancingAlgorithm: string
offPeakStartTime: string
peakLoadBalancingAlgorithm: string
peakStartTime: string
rampDownCapacityThresholdPercent: 0
rampDownForceLogoffUsers: false
rampDownLoadBalancingAlgorithm: string
rampDownMinimumHostsPercent: 0
rampDownNotificationMessage: string
rampDownStartTime: string
rampDownStopHostsWhen: string
rampDownWaitTimeMinutes: 0
rampUpCapacityThresholdPercent: 0
rampUpLoadBalancingAlgorithm: string
rampUpMinimumHostsPercent: 0
rampUpStartTime: string
tags:
string: string
timeZone: string
ScalingPlan 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 ScalingPlan resource accepts the following input properties:
- Resource
Group stringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Schedules
List<Scaling
Plan Schedule> - One or more
schedule
blocks as defined below. - Time
Zone string - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- Description string
- A description of the Scaling Plan.
- Exclusion
Tag string - The name of the tag associated with the VMs you want to exclude from autoscaling.
- Friendly
Name string - Friendly name of the Scaling Plan.
- Host
Pools List<ScalingPlan Host Pool> - One or more
host_pool
blocks as defined below. - Location string
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Name string
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Dictionary<string, string>
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- Resource
Group stringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Schedules
[]Scaling
Plan Schedule Args - One or more
schedule
blocks as defined below. - Time
Zone string - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- Description string
- A description of the Scaling Plan.
- Exclusion
Tag string - The name of the tag associated with the VMs you want to exclude from autoscaling.
- Friendly
Name string - Friendly name of the Scaling Plan.
- Host
Pools []ScalingPlan Host Pool Args - One or more
host_pool
blocks as defined below. - Location string
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Name string
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- map[string]string
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- resource
Group StringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- schedules
List<Scaling
Plan Schedule> - One or more
schedule
blocks as defined below. - time
Zone String - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- description String
- A description of the Scaling Plan.
- exclusion
Tag String - The name of the tag associated with the VMs you want to exclude from autoscaling.
- friendly
Name String - Friendly name of the Scaling Plan.
- host
Pools List<ScalingPlan Host Pool> - One or more
host_pool
blocks as defined below. - location String
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- name String
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Map<String,String>
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- resource
Group stringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- schedules
Scaling
Plan Schedule[] - One or more
schedule
blocks as defined below. - time
Zone string - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- description string
- A description of the Scaling Plan.
- exclusion
Tag string - The name of the tag associated with the VMs you want to exclude from autoscaling.
- friendly
Name string - Friendly name of the Scaling Plan.
- host
Pools ScalingPlan Host Pool[] - One or more
host_pool
blocks as defined below. - location string
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- name string
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- {[key: string]: string}
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- resource_
group_ strname - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- schedules
Sequence[Scaling
Plan Schedule Args] - One or more
schedule
blocks as defined below. - time_
zone str - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- description str
- A description of the Scaling Plan.
- exclusion_
tag str - The name of the tag associated with the VMs you want to exclude from autoscaling.
- friendly_
name str - Friendly name of the Scaling Plan.
- host_
pools Sequence[ScalingPlan Host Pool Args] - One or more
host_pool
blocks as defined below. - location str
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- name str
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Mapping[str, str]
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- resource
Group StringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- schedules List<Property Map>
- One or more
schedule
blocks as defined below. - time
Zone String - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- description String
- A description of the Scaling Plan.
- exclusion
Tag String - The name of the tag associated with the VMs you want to exclude from autoscaling.
- friendly
Name String - Friendly name of the Scaling Plan.
- host
Pools List<Property Map> - One or more
host_pool
blocks as defined below. - location String
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- name String
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Map<String>
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
Outputs
All input properties are implicitly available as output properties. Additionally, the ScalingPlan 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 ScalingPlan Resource
Get an existing ScalingPlan 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?: ScalingPlanState, opts?: CustomResourceOptions): ScalingPlan
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
exclusion_tag: Optional[str] = None,
friendly_name: Optional[str] = None,
host_pools: Optional[Sequence[ScalingPlanHostPoolArgs]] = None,
location: Optional[str] = None,
name: Optional[str] = None,
resource_group_name: Optional[str] = None,
schedules: Optional[Sequence[ScalingPlanScheduleArgs]] = None,
tags: Optional[Mapping[str, str]] = None,
time_zone: Optional[str] = None) -> ScalingPlan
func GetScalingPlan(ctx *Context, name string, id IDInput, state *ScalingPlanState, opts ...ResourceOption) (*ScalingPlan, error)
public static ScalingPlan Get(string name, Input<string> id, ScalingPlanState? state, CustomResourceOptions? opts = null)
public static ScalingPlan get(String name, Output<String> id, ScalingPlanState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- 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.
- Description string
- A description of the Scaling Plan.
- Exclusion
Tag string - The name of the tag associated with the VMs you want to exclude from autoscaling.
- Friendly
Name string - Friendly name of the Scaling Plan.
- Host
Pools List<ScalingPlan Host Pool> - One or more
host_pool
blocks as defined below. - Location string
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Name string
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Resource
Group stringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Schedules
List<Scaling
Plan Schedule> - One or more
schedule
blocks as defined below. - Dictionary<string, string>
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- Time
Zone string - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- Description string
- A description of the Scaling Plan.
- Exclusion
Tag string - The name of the tag associated with the VMs you want to exclude from autoscaling.
- Friendly
Name string - Friendly name of the Scaling Plan.
- Host
Pools []ScalingPlan Host Pool Args - One or more
host_pool
blocks as defined below. - Location string
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Name string
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Resource
Group stringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- Schedules
[]Scaling
Plan Schedule Args - One or more
schedule
blocks as defined below. - map[string]string
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- Time
Zone string - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- description String
- A description of the Scaling Plan.
- exclusion
Tag String - The name of the tag associated with the VMs you want to exclude from autoscaling.
- friendly
Name String - Friendly name of the Scaling Plan.
- host
Pools List<ScalingPlan Host Pool> - One or more
host_pool
blocks as defined below. - location String
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- name String
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- resource
Group StringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- schedules
List<Scaling
Plan Schedule> - One or more
schedule
blocks as defined below. - Map<String,String>
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- time
Zone String - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- description string
- A description of the Scaling Plan.
- exclusion
Tag string - The name of the tag associated with the VMs you want to exclude from autoscaling.
- friendly
Name string - Friendly name of the Scaling Plan.
- host
Pools ScalingPlan Host Pool[] - One or more
host_pool
blocks as defined below. - location string
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- name string
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- resource
Group stringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- schedules
Scaling
Plan Schedule[] - One or more
schedule
blocks as defined below. - {[key: string]: string}
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- time
Zone string - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- description str
- A description of the Scaling Plan.
- exclusion_
tag str - The name of the tag associated with the VMs you want to exclude from autoscaling.
- friendly_
name str - Friendly name of the Scaling Plan.
- host_
pools Sequence[ScalingPlan Host Pool Args] - One or more
host_pool
blocks as defined below. - location str
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- name str
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- resource_
group_ strname - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- schedules
Sequence[Scaling
Plan Schedule Args] - One or more
schedule
blocks as defined below. - Mapping[str, str]
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- time_
zone str - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
- description String
- A description of the Scaling Plan.
- exclusion
Tag String - The name of the tag associated with the VMs you want to exclude from autoscaling.
- friendly
Name String - Friendly name of the Scaling Plan.
- host
Pools List<Property Map> - One or more
host_pool
blocks as defined below. - location String
- The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- name String
- The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
- resource
Group StringName - The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
- schedules List<Property Map>
- One or more
schedule
blocks as defined below. - Map<String>
- A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
- time
Zone String - Specifies the Time Zone which should be used by the Scaling Plan for time based events, the possible values are defined here.
Supporting Types
ScalingPlanHostPool, ScalingPlanHostPoolArgs
- Hostpool
Id string - The ID of the HostPool to assign the Scaling Plan to.
- Scaling
Plan boolEnabled - Specifies if the scaling plan is enabled or disabled for the HostPool.
- Hostpool
Id string - The ID of the HostPool to assign the Scaling Plan to.
- Scaling
Plan boolEnabled - Specifies if the scaling plan is enabled or disabled for the HostPool.
- hostpool
Id String - The ID of the HostPool to assign the Scaling Plan to.
- scaling
Plan BooleanEnabled - Specifies if the scaling plan is enabled or disabled for the HostPool.
- hostpool
Id string - The ID of the HostPool to assign the Scaling Plan to.
- scaling
Plan booleanEnabled - Specifies if the scaling plan is enabled or disabled for the HostPool.
- hostpool_
id str - The ID of the HostPool to assign the Scaling Plan to.
- scaling_
plan_ boolenabled - Specifies if the scaling plan is enabled or disabled for the HostPool.
- hostpool
Id String - The ID of the HostPool to assign the Scaling Plan to.
- scaling
Plan BooleanEnabled - Specifies if the scaling plan is enabled or disabled for the HostPool.
ScalingPlanSchedule, ScalingPlanScheduleArgs
- Days
Of List<string>Weeks - A list of Days of the Week on which this schedule will be used. Possible values are
Monday
,Tuesday
,Wednesday
,Thursday
,Friday
,Saturday
, andSunday
- Name string
- The name of the schedule.
- Off
Peak stringLoad Balancing Algorithm - The load Balancing Algorithm to use during Off-Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - Off
Peak stringStart Time - The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in "HH:MM" format.
- Peak
Load stringBalancing Algorithm - The load Balancing Algorithm to use during Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - Peak
Start stringTime - The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- Ramp
Down intCapacity Threshold Percent - This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.
- Ramp
Down boolForce Logoff Users - Whether users will be forced to log-off session hosts once the
ramp_down_wait_time_minutes
value has been exceeded during the Ramp-Down period. Possible values aretrue
andfalse
. - Ramp
Down stringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Down period. Possible values are
DepthFirst
andBreadthFirst
. - Ramp
Down intMinimum Hosts Percent - The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.
- Ramp
Down stringNotification Message - The notification message to send to users during Ramp-Down period when they are required to log-off.
- Ramp
Down stringStart Time - The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- Ramp
Down stringStop Hosts When - Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are
ZeroSessions
andZeroActiveSessions
. - Ramp
Down intWait Time Minutes - The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.
- Ramp
Up stringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Up period. Possible values are
DepthFirst
andBreadthFirst
. - Ramp
Up stringStart Time - The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- Ramp
Up intCapacity Threshold Percent - This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as
60%
and your total host pool capacity is100
sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of60
sessions. - Ramp
Up intMinimum Hosts Percent - Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as
10%
and total number of session hosts in your host pool is10
, autoscale will ensure a minimum of1
session host is available to take user connections.
- Days
Of []stringWeeks - A list of Days of the Week on which this schedule will be used. Possible values are
Monday
,Tuesday
,Wednesday
,Thursday
,Friday
,Saturday
, andSunday
- Name string
- The name of the schedule.
- Off
Peak stringLoad Balancing Algorithm - The load Balancing Algorithm to use during Off-Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - Off
Peak stringStart Time - The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in "HH:MM" format.
- Peak
Load stringBalancing Algorithm - The load Balancing Algorithm to use during Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - Peak
Start stringTime - The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- Ramp
Down intCapacity Threshold Percent - This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.
- Ramp
Down boolForce Logoff Users - Whether users will be forced to log-off session hosts once the
ramp_down_wait_time_minutes
value has been exceeded during the Ramp-Down period. Possible values aretrue
andfalse
. - Ramp
Down stringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Down period. Possible values are
DepthFirst
andBreadthFirst
. - Ramp
Down intMinimum Hosts Percent - The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.
- Ramp
Down stringNotification Message - The notification message to send to users during Ramp-Down period when they are required to log-off.
- Ramp
Down stringStart Time - The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- Ramp
Down stringStop Hosts When - Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are
ZeroSessions
andZeroActiveSessions
. - Ramp
Down intWait Time Minutes - The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.
- Ramp
Up stringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Up period. Possible values are
DepthFirst
andBreadthFirst
. - Ramp
Up stringStart Time - The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- Ramp
Up intCapacity Threshold Percent - This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as
60%
and your total host pool capacity is100
sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of60
sessions. - Ramp
Up intMinimum Hosts Percent - Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as
10%
and total number of session hosts in your host pool is10
, autoscale will ensure a minimum of1
session host is available to take user connections.
- days
Of List<String>Weeks - A list of Days of the Week on which this schedule will be used. Possible values are
Monday
,Tuesday
,Wednesday
,Thursday
,Friday
,Saturday
, andSunday
- name String
- The name of the schedule.
- off
Peak StringLoad Balancing Algorithm - The load Balancing Algorithm to use during Off-Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - off
Peak StringStart Time - The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in "HH:MM" format.
- peak
Load StringBalancing Algorithm - The load Balancing Algorithm to use during Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - peak
Start StringTime - The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp
Down IntegerCapacity Threshold Percent - This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.
- ramp
Down BooleanForce Logoff Users - Whether users will be forced to log-off session hosts once the
ramp_down_wait_time_minutes
value has been exceeded during the Ramp-Down period. Possible values aretrue
andfalse
. - ramp
Down StringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Down period. Possible values are
DepthFirst
andBreadthFirst
. - ramp
Down IntegerMinimum Hosts Percent - The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.
- ramp
Down StringNotification Message - The notification message to send to users during Ramp-Down period when they are required to log-off.
- ramp
Down StringStart Time - The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp
Down StringStop Hosts When - Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are
ZeroSessions
andZeroActiveSessions
. - ramp
Down IntegerWait Time Minutes - The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.
- ramp
Up StringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Up period. Possible values are
DepthFirst
andBreadthFirst
. - ramp
Up StringStart Time - The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp
Up IntegerCapacity Threshold Percent - This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as
60%
and your total host pool capacity is100
sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of60
sessions. - ramp
Up IntegerMinimum Hosts Percent - Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as
10%
and total number of session hosts in your host pool is10
, autoscale will ensure a minimum of1
session host is available to take user connections.
- days
Of string[]Weeks - A list of Days of the Week on which this schedule will be used. Possible values are
Monday
,Tuesday
,Wednesday
,Thursday
,Friday
,Saturday
, andSunday
- name string
- The name of the schedule.
- off
Peak stringLoad Balancing Algorithm - The load Balancing Algorithm to use during Off-Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - off
Peak stringStart Time - The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in "HH:MM" format.
- peak
Load stringBalancing Algorithm - The load Balancing Algorithm to use during Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - peak
Start stringTime - The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp
Down numberCapacity Threshold Percent - This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.
- ramp
Down booleanForce Logoff Users - Whether users will be forced to log-off session hosts once the
ramp_down_wait_time_minutes
value has been exceeded during the Ramp-Down period. Possible values aretrue
andfalse
. - ramp
Down stringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Down period. Possible values are
DepthFirst
andBreadthFirst
. - ramp
Down numberMinimum Hosts Percent - The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.
- ramp
Down stringNotification Message - The notification message to send to users during Ramp-Down period when they are required to log-off.
- ramp
Down stringStart Time - The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp
Down stringStop Hosts When - Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are
ZeroSessions
andZeroActiveSessions
. - ramp
Down numberWait Time Minutes - The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.
- ramp
Up stringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Up period. Possible values are
DepthFirst
andBreadthFirst
. - ramp
Up stringStart Time - The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp
Up numberCapacity Threshold Percent - This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as
60%
and your total host pool capacity is100
sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of60
sessions. - ramp
Up numberMinimum Hosts Percent - Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as
10%
and total number of session hosts in your host pool is10
, autoscale will ensure a minimum of1
session host is available to take user connections.
- days_
of_ Sequence[str]weeks - A list of Days of the Week on which this schedule will be used. Possible values are
Monday
,Tuesday
,Wednesday
,Thursday
,Friday
,Saturday
, andSunday
- name str
- The name of the schedule.
- off_
peak_ strload_ balancing_ algorithm - The load Balancing Algorithm to use during Off-Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - off_
peak_ strstart_ time - The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in "HH:MM" format.
- peak_
load_ strbalancing_ algorithm - The load Balancing Algorithm to use during Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - peak_
start_ strtime - The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp_
down_ intcapacity_ threshold_ percent - This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.
- ramp_
down_ boolforce_ logoff_ users - Whether users will be forced to log-off session hosts once the
ramp_down_wait_time_minutes
value has been exceeded during the Ramp-Down period. Possible values aretrue
andfalse
. - ramp_
down_ strload_ balancing_ algorithm - The load Balancing Algorithm to use during the Ramp-Down period. Possible values are
DepthFirst
andBreadthFirst
. - ramp_
down_ intminimum_ hosts_ percent - The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.
- ramp_
down_ strnotification_ message - The notification message to send to users during Ramp-Down period when they are required to log-off.
- ramp_
down_ strstart_ time - The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp_
down_ strstop_ hosts_ when - Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are
ZeroSessions
andZeroActiveSessions
. - ramp_
down_ intwait_ time_ minutes - The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.
- ramp_
up_ strload_ balancing_ algorithm - The load Balancing Algorithm to use during the Ramp-Up period. Possible values are
DepthFirst
andBreadthFirst
. - ramp_
up_ strstart_ time - The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp_
up_ intcapacity_ threshold_ percent - This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as
60%
and your total host pool capacity is100
sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of60
sessions. - ramp_
up_ intminimum_ hosts_ percent - Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as
10%
and total number of session hosts in your host pool is10
, autoscale will ensure a minimum of1
session host is available to take user connections.
- days
Of List<String>Weeks - A list of Days of the Week on which this schedule will be used. Possible values are
Monday
,Tuesday
,Wednesday
,Thursday
,Friday
,Saturday
, andSunday
- name String
- The name of the schedule.
- off
Peak StringLoad Balancing Algorithm - The load Balancing Algorithm to use during Off-Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - off
Peak StringStart Time - The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in "HH:MM" format.
- peak
Load StringBalancing Algorithm - The load Balancing Algorithm to use during Peak Hours. Possible values are
DepthFirst
andBreadthFirst
. - peak
Start StringTime - The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp
Down NumberCapacity Threshold Percent - This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.
- ramp
Down BooleanForce Logoff Users - Whether users will be forced to log-off session hosts once the
ramp_down_wait_time_minutes
value has been exceeded during the Ramp-Down period. Possible values aretrue
andfalse
. - ramp
Down StringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Down period. Possible values are
DepthFirst
andBreadthFirst
. - ramp
Down NumberMinimum Hosts Percent - The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.
- ramp
Down StringNotification Message - The notification message to send to users during Ramp-Down period when they are required to log-off.
- ramp
Down StringStart Time - The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp
Down StringStop Hosts When - Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are
ZeroSessions
andZeroActiveSessions
. - ramp
Down NumberWait Time Minutes - The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.
- ramp
Up StringLoad Balancing Algorithm - The load Balancing Algorithm to use during the Ramp-Up period. Possible values are
DepthFirst
andBreadthFirst
. - ramp
Up StringStart Time - The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
- ramp
Up NumberCapacity Threshold Percent - This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as
60%
and your total host pool capacity is100
sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of60
sessions. - ramp
Up NumberMinimum Hosts Percent - Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as
10%
and total number of session hosts in your host pool is10
, autoscale will ensure a minimum of1
session host is available to take user connections.
Import
Virtual Desktop Scaling Plans can be imported using the resource id
, e.g.
$ pulumi import azure:desktopvirtualization/scalingPlan:ScalingPlan example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/plan1
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.