Scaling Plan Args
    data class ScalingPlanArgs(val description: Output<String>? = null, val exclusionTag: Output<String>? = null, val friendlyName: Output<String>? = null, val hostPoolReferences: Output<List<ScalingHostPoolReferenceArgs>>? = null, val hostPoolType: Output<Either<String, ScalingHostPoolType>>? = null, val identity: Output<ResourceModelWithAllowedPropertySetIdentityArgs>? = null, val kind: Output<String>? = null, val location: Output<String>? = null, val managedBy: Output<String>? = null, val plan: Output<ResourceModelWithAllowedPropertySetPlanArgs>? = null, val resourceGroupName: Output<String>? = null, val scalingPlanName: Output<String>? = null, val schedules: Output<List<ScalingScheduleArgs>>? = null, val sku: Output<ResourceModelWithAllowedPropertySetSkuArgs>? = null, val tags: Output<Map<String, String>>? = null, val timeZone: Output<String>? = null) : ConvertibleToJava<ScalingPlanArgs> 
Represents a scaling plan definition. Azure REST API version: 2022-09-09. Prior API version in Azure Native 1.x: 2021-02-01-preview. Other available API versions: 2020-11-10-preview, 2021-02-01-preview, 2022-02-10-preview, 2022-10-14-preview, 2023-07-07-preview, 2023-09-05, 2023-10-04-preview, 2023-11-01-preview.
Example Usage
ScalingPlans_Create
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var scalingPlan = new AzureNative.DesktopVirtualization.ScalingPlan("scalingPlan", new()
    {
        Description = "Description of Scaling Plan",
        ExclusionTag = "value",
        FriendlyName = "Scaling Plan 1",
        HostPoolReferences = new[]
        {
            new AzureNative.DesktopVirtualization.Inputs.ScalingHostPoolReferenceArgs
            {
                HostPoolArmPath = "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
                ScalingPlanEnabled = true,
            },
        },
        HostPoolType = "Pooled",
        Location = "centralus",
        ResourceGroupName = "resourceGroup1",
        ScalingPlanName = "scalingPlan1",
        Schedules = new[]
        {
            new AzureNative.DesktopVirtualization.Inputs.ScalingScheduleArgs
            {
                DaysOfWeek = new[]
                {
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday",
                },
                Name = "schedule1",
                OffPeakLoadBalancingAlgorithm = "DepthFirst",
                OffPeakStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs
                {
                    Hour = 20,
                    Minute = 0,
                },
                PeakLoadBalancingAlgorithm = "BreadthFirst",
                PeakStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs
                {
                    Hour = 8,
                    Minute = 0,
                },
                RampDownCapacityThresholdPct = 50,
                RampDownForceLogoffUsers = true,
                RampDownLoadBalancingAlgorithm = "DepthFirst",
                RampDownMinimumHostsPct = 20,
                RampDownNotificationMessage = "message",
                RampDownStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs
                {
                    Hour = 18,
                    Minute = 0,
                },
                RampDownWaitTimeMinutes = 30,
                RampUpCapacityThresholdPct = 80,
                RampUpLoadBalancingAlgorithm = "DepthFirst",
                RampUpMinimumHostsPct = 20,
                RampUpStartTime = new AzureNative.DesktopVirtualization.Inputs.TimeArgs
                {
                    Hour = 6,
                    Minute = 0,
                },
            },
        },
        Tags =
        {
            { "tag1", "value1" },
            { "tag2", "value2" },
        },
        TimeZone = "Central Standard Time",
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/desktopvirtualization/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := desktopvirtualization.NewScalingPlan(ctx, "scalingPlan", &desktopvirtualization.ScalingPlanArgs{
			Description:  pulumi.String("Description of Scaling Plan"),
			ExclusionTag: pulumi.String("value"),
			FriendlyName: pulumi.String("Scaling Plan 1"),
			HostPoolReferences: []desktopvirtualization.ScalingHostPoolReferenceArgs{
				{
					HostPoolArmPath:    pulumi.String("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
					ScalingPlanEnabled: pulumi.Bool(true),
				},
			},
			HostPoolType:      pulumi.String("Pooled"),
			Location:          pulumi.String("centralus"),
			ResourceGroupName: pulumi.String("resourceGroup1"),
			ScalingPlanName:   pulumi.String("scalingPlan1"),
			Schedules: []desktopvirtualization.ScalingScheduleArgs{
				{
					DaysOfWeek: pulumi.StringArray{
						pulumi.String("Monday"),
						pulumi.String("Tuesday"),
						pulumi.String("Wednesday"),
						pulumi.String("Thursday"),
						pulumi.String("Friday"),
					},
					Name:                          pulumi.String("schedule1"),
					OffPeakLoadBalancingAlgorithm: pulumi.String("DepthFirst"),
					OffPeakStartTime: {
						Hour:   pulumi.Int(20),
						Minute: pulumi.Int(0),
					},
					PeakLoadBalancingAlgorithm: pulumi.String("BreadthFirst"),
					PeakStartTime: {
						Hour:   pulumi.Int(8),
						Minute: pulumi.Int(0),
					},
					RampDownCapacityThresholdPct:   pulumi.Int(50),
					RampDownForceLogoffUsers:       pulumi.Bool(true),
					RampDownLoadBalancingAlgorithm: pulumi.String("DepthFirst"),
					RampDownMinimumHostsPct:        pulumi.Int(20),
					RampDownNotificationMessage:    pulumi.String("message"),
					RampDownStartTime: {
						Hour:   pulumi.Int(18),
						Minute: pulumi.Int(0),
					},
					RampDownWaitTimeMinutes:      pulumi.Int(30),
					RampUpCapacityThresholdPct:   pulumi.Int(80),
					RampUpLoadBalancingAlgorithm: pulumi.String("DepthFirst"),
					RampUpMinimumHostsPct:        pulumi.Int(20),
					RampUpStartTime: {
						Hour:   pulumi.Int(6),
						Minute: pulumi.Int(0),
					},
				},
			},
			Tags: pulumi.StringMap{
				"tag1": pulumi.String("value1"),
				"tag2": pulumi.String("value2"),
			},
			TimeZone: pulumi.String("Central Standard Time"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.desktopvirtualization.ScalingPlan;
import com.pulumi.azurenative.desktopvirtualization.ScalingPlanArgs;
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 scalingPlan = new ScalingPlan("scalingPlan", ScalingPlanArgs.builder()
            .description("Description of Scaling Plan")
            .exclusionTag("value")
            .friendlyName("Scaling Plan 1")
            .hostPoolReferences(Map.ofEntries(
                Map.entry("hostPoolArmPath", "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
                Map.entry("scalingPlanEnabled", true)
            ))
            .hostPoolType("Pooled")
            .location("centralus")
            .resourceGroupName("resourceGroup1")
            .scalingPlanName("scalingPlan1")
            .schedules(Map.ofEntries(
                Map.entry("daysOfWeek",
                    "Monday",
                    "Tuesday",
                    "Wednesday",
                    "Thursday",
                    "Friday"),
                Map.entry("name", "schedule1"),
                Map.entry("offPeakLoadBalancingAlgorithm", "DepthFirst"),
                Map.entry("offPeakStartTime", Map.ofEntries(
                    Map.entry("hour", 20),
                    Map.entry("minute", 0)
                )),
                Map.entry("peakLoadBalancingAlgorithm", "BreadthFirst"),
                Map.entry("peakStartTime", Map.ofEntries(
                    Map.entry("hour", 8),
                    Map.entry("minute", 0)
                )),
                Map.entry("rampDownCapacityThresholdPct", 50),
                Map.entry("rampDownForceLogoffUsers", true),
                Map.entry("rampDownLoadBalancingAlgorithm", "DepthFirst"),
                Map.entry("rampDownMinimumHostsPct", 20),
                Map.entry("rampDownNotificationMessage", "message"),
                Map.entry("rampDownStartTime", Map.ofEntries(
                    Map.entry("hour", 18),
                    Map.entry("minute", 0)
                )),
                Map.entry("rampDownWaitTimeMinutes", 30),
                Map.entry("rampUpCapacityThresholdPct", 80),
                Map.entry("rampUpLoadBalancingAlgorithm", "DepthFirst"),
                Map.entry("rampUpMinimumHostsPct", 20),
                Map.entry("rampUpStartTime", Map.ofEntries(
                    Map.entry("hour", 6),
                    Map.entry("minute", 0)
                ))
            ))
            .tags(Map.ofEntries(
                Map.entry("tag1", "value1"),
                Map.entry("tag2", "value2")
            ))
            .timeZone("Central Standard Time")
            .build());
    }
}Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:desktopvirtualization:ScalingPlan scalingPlan1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}Content copied to clipboard
Constructors
Link copied to clipboard
                fun ScalingPlanArgs(description: Output<String>? = null, exclusionTag: Output<String>? = null, friendlyName: Output<String>? = null, hostPoolReferences: Output<List<ScalingHostPoolReferenceArgs>>? = null, hostPoolType: Output<Either<String, ScalingHostPoolType>>? = null, identity: Output<ResourceModelWithAllowedPropertySetIdentityArgs>? = null, kind: Output<String>? = null, location: Output<String>? = null, managedBy: Output<String>? = null, plan: Output<ResourceModelWithAllowedPropertySetPlanArgs>? = null, resourceGroupName: Output<String>? = null, scalingPlanName: Output<String>? = null, schedules: Output<List<ScalingScheduleArgs>>? = null, sku: Output<ResourceModelWithAllowedPropertySetSkuArgs>? = null, tags: Output<Map<String, String>>? = null, timeZone: Output<String>? = null)