LinuxVirtualMachine

class LinuxVirtualMachine : KotlinCustomResource

Manages a Linux Virtual Machine within a Dev Test Lab.

Example Usage

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.devtest.Lab;
import com.pulumi.azure.devtest.LabArgs;
import com.pulumi.azure.devtest.VirtualNetwork;
import com.pulumi.azure.devtest.VirtualNetworkArgs;
import com.pulumi.azure.devtest.inputs.VirtualNetworkSubnetArgs;
import com.pulumi.azure.devtest.LinuxVirtualMachine;
import com.pulumi.azure.devtest.LinuxVirtualMachineArgs;
import com.pulumi.azure.devtest.inputs.LinuxVirtualMachineGalleryImageReferenceArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleLab = new Lab("exampleLab", LabArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.tags(Map.of("Sydney", "Australia"))
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.labName(exampleLab.name())
.resourceGroupName(exampleResourceGroup.name())
.subnet(VirtualNetworkSubnetArgs.builder()
.usePublicIpAddress("Allow")
.useInVirtualMachineCreation("Allow")
.build())
.build());
var exampleLinuxVirtualMachine = new LinuxVirtualMachine("exampleLinuxVirtualMachine", LinuxVirtualMachineArgs.builder()
.labName(exampleLab.name())
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.size("Standard_DS2")
.username("exampleuser99")
.sshKey(Files.readString(Paths.get("~/.ssh/id_rsa.pub")))
.labVirtualNetworkId(exampleVirtualNetwork.id())
.labSubnetName(exampleVirtualNetwork.subnet().applyValue(subnet -> subnet.name()))
.storageType("Premium")
.notes("Some notes about this Virtual Machine.")
.galleryImageReference(LinuxVirtualMachineGalleryImageReferenceArgs.builder()
.offer("UbuntuServer")
.publisher("Canonical")
.sku("18.04-LTS")
.version("latest")
.build())
.build());
}
}

Import

Dev Test Linux Virtual Machines can be imported using the resource id, e.g.

$ pulumi import azure:devtest/linuxVirtualMachine:LinuxVirtualMachine machine1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1/virtualMachines/machine1

Properties

Link copied to clipboard
val allowClaim: Output<Boolean>?

Can this Virtual Machine be claimed by users? Defaults to true.

Link copied to clipboard

Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.

Link copied to clipboard
val fqdn: Output<String>

The FQDN of the Virtual Machine.

Link copied to clipboard

A gallery_image_reference block as defined below.

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

One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.

Link copied to clipboard
val labName: Output<String>

Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.

Link copied to clipboard
val labSubnetName: Output<String>

The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.

Link copied to clipboard

The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.

Link copied to clipboard
val location: Output<String>

Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>

Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.

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

Any notes about the Virtual Machine.

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

The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.

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 in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.

Link copied to clipboard
val size: Output<String>

The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.

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

The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.

Link copied to clipboard
val storageType: Output<String>

The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.

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

A mapping of tags to assign to the resource.

Link copied to clipboard

The unique immutable identifier of the Virtual Machine.

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

The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.