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