Scaling Plan
Represents a scaling plan definition. API Version: 2021-02-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 = "des1",
ExclusionTag = "value",
FriendlyName = "friendly",
HostPoolReferences = new[]
{
new AzureNative.DesktopVirtualization.Inputs.ScalingHostPoolReferenceArgs
{
HostPoolArmPath = "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1",
ScalingPlanEnabled = true,
},
},
HostPoolType = "Personal",
Location = "centralus",
ResourceGroupName = "resourceGroup1",
Ring = 1,
ScalingPlanName = "scalingPlan1",
Schedules = new[]
{
new AzureNative.DesktopVirtualization.Inputs.ScalingScheduleArgs
{
DaysOfWeek = new[]
{
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
},
Name = "schedule1",
OffPeakLoadBalancingAlgorithm = "DepthFirst",
OffPeakStartTime = "2020-11-10T20:00:00.000Z",
PeakLoadBalancingAlgorithm = "BreadthFirst",
PeakStartTime = "2020-11-10T08:00:00.000Z",
RampDownCapacityThresholdPct = 50,
RampDownForceLogoffUsers = true,
RampDownLoadBalancingAlgorithm = "DepthFirst",
RampDownMinimumHostsPct = 20,
RampDownNotificationMessage = "message",
RampDownStartTime = "2020-11-10T18:00:00.000Z",
RampDownWaitTimeMinutes = 30,
RampUpCapacityThresholdPct = 80,
RampUpLoadBalancingAlgorithm = "DepthFirst",
RampUpMinimumHostsPct = 20,
RampUpStartTime = "2020-11-10T06:00:00.000Z",
},
},
Tags =
{
{ "tag1", "value1" },
{ "tag2", "value2" },
},
TimeZone = "",
});
});
package main
import (
desktopvirtualization "github.com/pulumi/pulumi-azure-native-sdk/desktopvirtualization"
"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("des1"),
ExclusionTag: pulumi.String("value"),
FriendlyName: pulumi.String("friendly"),
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("Personal"),
Location: pulumi.String("centralus"),
ResourceGroupName: pulumi.String("resourceGroup1"),
Ring: pulumi.Int(1),
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: pulumi.String("2020-11-10T20:00:00.000Z"),
PeakLoadBalancingAlgorithm: pulumi.String("BreadthFirst"),
PeakStartTime: pulumi.String("2020-11-10T08:00:00.000Z"),
RampDownCapacityThresholdPct: pulumi.Int(50),
RampDownForceLogoffUsers: pulumi.Bool(true),
RampDownLoadBalancingAlgorithm: pulumi.String("DepthFirst"),
RampDownMinimumHostsPct: pulumi.Int(20),
RampDownNotificationMessage: pulumi.String("message"),
RampDownStartTime: pulumi.String("2020-11-10T18:00:00.000Z"),
RampDownWaitTimeMinutes: pulumi.Int(30),
RampUpCapacityThresholdPct: pulumi.Int(80),
RampUpLoadBalancingAlgorithm: pulumi.String("DepthFirst"),
RampUpMinimumHostsPct: pulumi.Int(20),
RampUpStartTime: pulumi.String("2020-11-10T06:00:00.000Z"),
},
},
Tags: pulumi.StringMap{
"tag1": pulumi.String("value1"),
"tag2": pulumi.String("value2"),
},
TimeZone: pulumi.String(""),
})
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.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("des1")
.exclusionTag("value")
.friendlyName("friendly")
.hostPoolReferences(Map.ofEntries(
Map.entry("hostPoolArmPath", "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
Map.entry("scalingPlanEnabled", true)
))
.hostPoolType("Personal")
.location("centralus")
.resourceGroupName("resourceGroup1")
.ring(1)
.scalingPlanName("scalingPlan1")
.schedules(Map.ofEntries(
Map.entry("daysOfWeek",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"),
Map.entry("name", "schedule1"),
Map.entry("offPeakLoadBalancingAlgorithm", "DepthFirst"),
Map.entry("offPeakStartTime", "2020-11-10T20:00:00.000Z"),
Map.entry("peakLoadBalancingAlgorithm", "BreadthFirst"),
Map.entry("peakStartTime", "2020-11-10T08:00:00.000Z"),
Map.entry("rampDownCapacityThresholdPct", 50),
Map.entry("rampDownForceLogoffUsers", true),
Map.entry("rampDownLoadBalancingAlgorithm", "DepthFirst"),
Map.entry("rampDownMinimumHostsPct", 20),
Map.entry("rampDownNotificationMessage", "message"),
Map.entry("rampDownStartTime", "2020-11-10T18:00:00.000Z"),
Map.entry("rampDownWaitTimeMinutes", 30),
Map.entry("rampUpCapacityThresholdPct", 80),
Map.entry("rampUpLoadBalancingAlgorithm", "DepthFirst"),
Map.entry("rampUpMinimumHostsPct", 20),
Map.entry("rampUpStartTime", "2020-11-10T06:00:00.000Z")
))
.tags(Map.ofEntries(
Map.entry("tag1", "value1"),
Map.entry("tag2", "value2")
))
.timeZone("")
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:desktopvirtualization:ScalingPlan scalingPlan1 /subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1
Properties
Description of scaling plan.
The etag field is not required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.
Exclusion tag for scaling plan.
User friendly name of scaling plan.
List of ScalingHostPoolReference definitions.
HostPool type for desktop.
The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource.
List of ScalingSchedule definitions.