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, HostPoolType>>? = 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 ring: Output<Int>? = 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. 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 = "",
});
});
Content copied to clipboard
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
})
}
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("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());
}
}
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/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1
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, HostPoolType>>? = 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, ring: Output<Int>? = null, scalingPlanName: Output<String>? = null, schedules: Output<List<ScalingScheduleArgs>>? = null, sku: Output<ResourceModelWithAllowedPropertySetSkuArgs>? = null, tags: Output<Map<String, String>>? = null, timeZone: Output<String>? = null)