Scaling Plan Pooled Schedule Args
Represents a ScalingPlanPooledSchedule definition. Uses Azure REST API version 2024-04-03. In version 2.x of the Azure Native provider, it used API version 2022-09-09. Other available API versions: 2022-09-09, 2022-10-14-preview, 2023-09-05, 2023-10-04-preview, 2023-11-01-preview, 2024-01-16-preview, 2024-03-06-preview, 2024-04-08-preview, 2024-08-08-preview, 2024-11-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native desktopvirtualization [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
ScalingPlanPooledSchedules_Create
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var scalingPlanPooledSchedule = new AzureNative.DesktopVirtualization.ScalingPlanPooledSchedule("scalingPlanPooledSchedule", new()
{
DaysOfWeek = new[]
{
AzureNative.DesktopVirtualization.DayOfWeek.Monday,
AzureNative.DesktopVirtualization.DayOfWeek.Tuesday,
AzureNative.DesktopVirtualization.DayOfWeek.Wednesday,
AzureNative.DesktopVirtualization.DayOfWeek.Thursday,
AzureNative.DesktopVirtualization.DayOfWeek.Friday,
},
OffPeakLoadBalancingAlgorithm = AzureNative.DesktopVirtualization.SessionHostLoadBalancingAlgorithm.DepthFirst,
OffPeakStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs
{
Hour = 20,
Minute = 0,
},
PeakLoadBalancingAlgorithm = AzureNative.DesktopVirtualization.SessionHostLoadBalancingAlgorithm.BreadthFirst,
PeakStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs
{
Hour = 8,
Minute = 0,
},
RampDownCapacityThresholdPct = 50,
RampDownForceLogoffUsers = true,
RampDownLoadBalancingAlgorithm = AzureNative.DesktopVirtualization.SessionHostLoadBalancingAlgorithm.DepthFirst,
RampDownMinimumHostsPct = 20,
RampDownNotificationMessage = "message",
RampDownStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs
{
Hour = 18,
Minute = 0,
},
RampDownWaitTimeMinutes = 30,
RampUpCapacityThresholdPct = 80,
RampUpLoadBalancingAlgorithm = AzureNative.DesktopVirtualization.SessionHostLoadBalancingAlgorithm.DepthFirst,
RampUpMinimumHostsPct = 20,
RampUpStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs
{
Hour = 6,
Minute = 0,
},
ResourceGroupName = "resourceGroup1",
ScalingPlanName = "scalingPlan1",
ScalingPlanScheduleName = "scalingPlanScheduleWeekdays1",
});
});
package main
import (
desktopvirtualization "github.com/pulumi/pulumi-azure-native-sdk/desktopvirtualization/v3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := desktopvirtualization.NewScalingPlanPooledSchedule(ctx, "scalingPlanPooledSchedule", &desktopvirtualization.ScalingPlanPooledScheduleArgs{
DaysOfWeek: pulumi.StringArray{
pulumi.String(desktopvirtualization.DayOfWeekMonday),
pulumi.String(desktopvirtualization.DayOfWeekTuesday),
pulumi.String(desktopvirtualization.DayOfWeekWednesday),
pulumi.String(desktopvirtualization.DayOfWeekThursday),
pulumi.String(desktopvirtualization.DayOfWeekFriday),
},
OffPeakLoadBalancingAlgorithm: pulumi.String(desktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
OffPeakStartTime: &desktopvirtualization.TimeArgs{
Hour: pulumi.Int(20),
Minute: pulumi.Int(0),
},
PeakLoadBalancingAlgorithm: pulumi.String(desktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
PeakStartTime: &desktopvirtualization.TimeArgs{
Hour: pulumi.Int(8),
Minute: pulumi.Int(0),
},
RampDownCapacityThresholdPct: pulumi.Int(50),
RampDownForceLogoffUsers: pulumi.Bool(true),
RampDownLoadBalancingAlgorithm: pulumi.String(desktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
RampDownMinimumHostsPct: pulumi.Int(20),
RampDownNotificationMessage: pulumi.String("message"),
RampDownStartTime: &desktopvirtualization.TimeArgs{
Hour: pulumi.Int(18),
Minute: pulumi.Int(0),
},
RampDownWaitTimeMinutes: pulumi.Int(30),
RampUpCapacityThresholdPct: pulumi.Int(80),
RampUpLoadBalancingAlgorithm: pulumi.String(desktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
RampUpMinimumHostsPct: pulumi.Int(20),
RampUpStartTime: &desktopvirtualization.TimeArgs{
Hour: pulumi.Int(6),
Minute: pulumi.Int(0),
},
ResourceGroupName: pulumi.String("resourceGroup1"),
ScalingPlanName: pulumi.String("scalingPlan1"),
ScalingPlanScheduleName: pulumi.String("scalingPlanScheduleWeekdays1"),
})
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.azurenative.desktopvirtualization.ScalingPlanPooledSchedule;
import com.pulumi.azurenative.desktopvirtualization.ScalingPlanPooledScheduleArgs;
import com.pulumi.azurenative.desktopvirtualization.inputs.TimeArgs;
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 scalingPlanPooledSchedule = new ScalingPlanPooledSchedule("scalingPlanPooledSchedule", ScalingPlanPooledScheduleArgs.builder()
.daysOfWeek(
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday")
.offPeakLoadBalancingAlgorithm("DepthFirst")
.offPeakStartTime(TimeArgs.builder()
.hour(20)
.minute(0)
.build())
.peakLoadBalancingAlgorithm("BreadthFirst")
.peakStartTime(TimeArgs.builder()
.hour(8)
.minute(0)
.build())
.rampDownCapacityThresholdPct(50)
.rampDownForceLogoffUsers(true)
.rampDownLoadBalancingAlgorithm("DepthFirst")
.rampDownMinimumHostsPct(20)
.rampDownNotificationMessage("message")
.rampDownStartTime(TimeArgs.builder()
.hour(18)
.minute(0)
.build())
.rampDownWaitTimeMinutes(30)
.rampUpCapacityThresholdPct(80)
.rampUpLoadBalancingAlgorithm("DepthFirst")
.rampUpMinimumHostsPct(20)
.rampUpStartTime(TimeArgs.builder()
.hour(6)
.minute(0)
.build())
.resourceGroupName("resourceGroup1")
.scalingPlanName("scalingPlan1")
.scalingPlanScheduleName("scalingPlanScheduleWeekdays1")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:desktopvirtualization:ScalingPlanPooledSchedule scalingPlanScheduleWeekdays1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/pooledSchedules/{scalingPlanScheduleName}
Constructors
Properties
Set of days of the week on which this schedule is active.
Load balancing algorithm for off-peak period.
Starting time for off-peak period.
Load balancing algorithm for peak period.
Starting time for peak period.
Capacity threshold for ramp down period.
Should users be logged off forcefully from hosts.
Load balancing algorithm for ramp down period.
Minimum host percentage for ramp down period.
Notification message for users during ramp down period.
Starting time for ramp down period.
Specifies when to stop hosts during ramp down period.
Number of minutes to wait to stop hosts during ramp down period.
Capacity threshold for ramp up period.
Load balancing algorithm for ramp up period.
Minimum host percentage for ramp up period.
Starting time for ramp up period.
The name of the resource group. The name is case insensitive.
The name of the scaling plan.
The name of the ScalingPlanSchedule