Lab

class Lab : KotlinCustomResource

Manages a Lab Service Lab. !>Note: This resource is being deprecated by Azure. This resource will be removed in version 4.0 of the provider.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleLab = new azure.lab.Lab("example", {
name: "example-lab",
resourceGroupName: example.name,
location: example.location,
title: "Test Title",
security: {
openAccessEnabled: false,
},
virtualMachine: {
adminUser: {
username: "testadmin",
password: "Password1234!",
},
imageReference: {
publisher: "Canonical",
offer: "0001-com-ubuntu-server-jammy",
sku: "22_04-lts",
version: "latest",
},
sku: {
name: "Classic_Fsv2_2_4GB_128_S_SSD",
capacity: 0,
},
},
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_lab = azure.lab.Lab("example",
name="example-lab",
resource_group_name=example.name,
location=example.location,
title="Test Title",
security={
"open_access_enabled": False,
},
virtual_machine={
"admin_user": {
"username": "testadmin",
"password": "Password1234!",
},
"image_reference": {
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest",
},
"sku": {
"name": "Classic_Fsv2_2_4GB_128_S_SSD",
"capacity": 0,
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleLab = new Azure.Lab.Lab("example", new()
{
Name = "example-lab",
ResourceGroupName = example.Name,
Location = example.Location,
Title = "Test Title",
Security = new Azure.Lab.Inputs.LabSecurityArgs
{
OpenAccessEnabled = false,
},
VirtualMachine = new Azure.Lab.Inputs.LabVirtualMachineArgs
{
AdminUser = new Azure.Lab.Inputs.LabVirtualMachineAdminUserArgs
{
Username = "testadmin",
Password = "Password1234!",
},
ImageReference = new Azure.Lab.Inputs.LabVirtualMachineImageReferenceArgs
{
Publisher = "Canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest",
},
Sku = new Azure.Lab.Inputs.LabVirtualMachineSkuArgs
{
Name = "Classic_Fsv2_2_4GB_128_S_SSD",
Capacity = 0,
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/lab"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
_, err = lab.NewLab(ctx, "example", &lab.LabArgs{
Name: pulumi.String("example-lab"),
ResourceGroupName: example.Name,
Location: example.Location,
Title: pulumi.String("Test Title"),
Security: &lab.LabSecurityArgs{
OpenAccessEnabled: pulumi.Bool(false),
},
VirtualMachine: &lab.LabVirtualMachineArgs{
AdminUser: &lab.LabVirtualMachineAdminUserArgs{
Username: pulumi.String("testadmin"),
Password: pulumi.String("Password1234!"),
},
ImageReference: &lab.LabVirtualMachineImageReferenceArgs{
Publisher: pulumi.String("Canonical"),
Offer: pulumi.String("0001-com-ubuntu-server-jammy"),
Sku: pulumi.String("22_04-lts"),
Version: pulumi.String("latest"),
},
Sku: &lab.LabVirtualMachineSkuArgs{
Name: pulumi.String("Classic_Fsv2_2_4GB_128_S_SSD"),
Capacity: pulumi.Int(0),
},
},
})
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.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.lab.Lab;
import com.pulumi.azure.lab.LabArgs;
import com.pulumi.azure.lab.inputs.LabSecurityArgs;
import com.pulumi.azure.lab.inputs.LabVirtualMachineArgs;
import com.pulumi.azure.lab.inputs.LabVirtualMachineAdminUserArgs;
import com.pulumi.azure.lab.inputs.LabVirtualMachineImageReferenceArgs;
import com.pulumi.azure.lab.inputs.LabVirtualMachineSkuArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleLab = new Lab("exampleLab", LabArgs.builder()
.name("example-lab")
.resourceGroupName(example.name())
.location(example.location())
.title("Test Title")
.security(LabSecurityArgs.builder()
.openAccessEnabled(false)
.build())
.virtualMachine(LabVirtualMachineArgs.builder()
.adminUser(LabVirtualMachineAdminUserArgs.builder()
.username("testadmin")
.password("Password1234!")
.build())
.imageReference(LabVirtualMachineImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-jammy")
.sku("22_04-lts")
.version("latest")
.build())
.sku(LabVirtualMachineSkuArgs.builder()
.name("Classic_Fsv2_2_4GB_128_S_SSD")
.capacity(0)
.build())
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleLab:
type: azure:lab:Lab
name: example
properties:
name: example-lab
resourceGroupName: ${example.name}
location: ${example.location}
title: Test Title
security:
openAccessEnabled: false
virtualMachine:
adminUser:
username: testadmin
password: Password1234!
imageReference:
publisher: Canonical
offer: 0001-com-ubuntu-server-jammy
sku: 22_04-lts
version: latest
sku:
name: Classic_Fsv2_2_4GB_128_S_SSD
capacity: 0

Import

Lab Service Labs can be imported using the resource id, e.g.

$ pulumi import azure:lab/lab:Lab example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.LabServices/labs/lab1

Properties

Link copied to clipboard

An auto_shutdown block as defined below.

Link copied to clipboard

A connection_setting block as defined below.

Link copied to clipboard
val description: Output<String>?

The description of the Lab Service Lab.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val labPlanId: Output<String>?

The resource ID of the Lab Plan that is used during resource creation to provide defaults and acts as a permission container when creating a Lab Service Lab via labs.azure.com.

Link copied to clipboard
val location: Output<String>

The Azure Region where the Lab Service Lab should exist. Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>

The name which should be used for this Lab Service Lab. Changing this forces a new resource to be created.

Link copied to clipboard
val network: Output<LabNetwork>?

A network block as defined below.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The name of the Resource Group where the Lab Service Lab should exist. Changing this forces a new resource to be created.

Link copied to clipboard
val roster: Output<LabRoster>?

A roster block as defined below.

Link copied to clipboard
val security: Output<LabSecurity>

A security block as defined below.

Link copied to clipboard
val tags: Output<Map<String, String>>?

A mapping of tags which should be assigned to the Lab Service Lab.

Link copied to clipboard
val title: Output<String>

The title of the Lab Service Lab.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

A virtual_machine block as defined below.