Lab Plan
    Lab Plans act as a permission container for creating labs via labs.azure.com. Additionally, they can provide a set of default configurations that will apply at the time of creating a lab, but these defaults can still be overwritten. Azure REST API version: 2022-08-01. Prior API version in Azure Native 1.x: 2021-10-01-preview. Other available API versions: 2023-06-07.
Example Usage
putLabPlan
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
    var labPlan = new AzureNative.LabServices.LabPlan("labPlan", new()
    {
        DefaultAutoShutdownProfile = new AzureNative.LabServices.Inputs.AutoShutdownProfileArgs
        {
            DisconnectDelay = "PT5M",
            IdleDelay = "PT5M",
            NoConnectDelay = "PT5M",
            ShutdownOnDisconnect = AzureNative.LabServices.EnableState.Enabled,
            ShutdownOnIdle = AzureNative.LabServices.ShutdownOnIdleMode.UserAbsence,
            ShutdownWhenNotConnected = AzureNative.LabServices.EnableState.Enabled,
        },
        DefaultConnectionProfile = new AzureNative.LabServices.Inputs.ConnectionProfileArgs
        {
            ClientRdpAccess = AzureNative.LabServices.ConnectionType.Public,
            ClientSshAccess = AzureNative.LabServices.ConnectionType.Public,
            WebRdpAccess = AzureNative.LabServices.ConnectionType.None,
            WebSshAccess = AzureNative.LabServices.ConnectionType.None,
        },
        DefaultNetworkProfile = new AzureNative.LabServices.Inputs.LabPlanNetworkProfileArgs
        {
            SubnetId = "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default",
        },
        LabPlanName = "testlabplan",
        Location = "westus",
        ResourceGroupName = "testrg123",
        SharedGalleryId = "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
        SupportInfo = new AzureNative.LabServices.Inputs.SupportInfoArgs
        {
            Email = "help@contoso.com",
            Instructions = "Contact support for help.",
            Phone = "+1-202-555-0123",
            Url = "help.contoso.com",
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-azure-native-sdk/labservices/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := labservices.NewLabPlan(ctx, "labPlan", &labservices.LabPlanArgs{
			DefaultAutoShutdownProfile: &labservices.AutoShutdownProfileArgs{
				DisconnectDelay:          pulumi.String("PT5M"),
				IdleDelay:                pulumi.String("PT5M"),
				NoConnectDelay:           pulumi.String("PT5M"),
				ShutdownOnDisconnect:     labservices.EnableStateEnabled,
				ShutdownOnIdle:           labservices.ShutdownOnIdleModeUserAbsence,
				ShutdownWhenNotConnected: labservices.EnableStateEnabled,
			},
			DefaultConnectionProfile: &labservices.ConnectionProfileArgs{
				ClientRdpAccess: labservices.ConnectionTypePublic,
				ClientSshAccess: labservices.ConnectionTypePublic,
				WebRdpAccess:    labservices.ConnectionTypeNone,
				WebSshAccess:    labservices.ConnectionTypeNone,
			},
			DefaultNetworkProfile: &labservices.LabPlanNetworkProfileArgs{
				SubnetId: pulumi.String("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"),
			},
			LabPlanName:       pulumi.String("testlabplan"),
			Location:          pulumi.String("westus"),
			ResourceGroupName: pulumi.String("testrg123"),
			SharedGalleryId:   pulumi.String("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig"),
			SupportInfo: &labservices.SupportInfoArgs{
				Email:        pulumi.String("help@contoso.com"),
				Instructions: pulumi.String("Contact support for help."),
				Phone:        pulumi.String("+1-202-555-0123"),
				Url:          pulumi.String("help.contoso.com"),
			},
		})
		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.labservices.LabPlan;
import com.pulumi.azurenative.labservices.LabPlanArgs;
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 labPlan = new LabPlan("labPlan", LabPlanArgs.builder()
            .defaultAutoShutdownProfile(Map.ofEntries(
                Map.entry("disconnectDelay", "PT5M"),
                Map.entry("idleDelay", "PT5M"),
                Map.entry("noConnectDelay", "PT5M"),
                Map.entry("shutdownOnDisconnect", "Enabled"),
                Map.entry("shutdownOnIdle", "UserAbsence"),
                Map.entry("shutdownWhenNotConnected", "Enabled")
            ))
            .defaultConnectionProfile(Map.ofEntries(
                Map.entry("clientRdpAccess", "Public"),
                Map.entry("clientSshAccess", "Public"),
                Map.entry("webRdpAccess", "None"),
                Map.entry("webSshAccess", "None")
            ))
            .defaultNetworkProfile(Map.of("subnetId", "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"))
            .labPlanName("testlabplan")
            .location("westus")
            .resourceGroupName("testrg123")
            .sharedGalleryId("/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig")
            .supportInfo(Map.ofEntries(
                Map.entry("email", "help@contoso.com"),
                Map.entry("instructions", "Contact support for help."),
                Map.entry("phone", "+1-202-555-0123"),
                Map.entry("url", "help.contoso.com")
            ))
            .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:labservices:LabPlan testlabplan /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}Content copied to clipboard
Properties
Link copied to clipboard
                Link copied to clipboard