1. Packages
  2. Azure Classic
  3. API Docs
  4. devtest
  5. LinuxVirtualMachine

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
azure logo

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi

    Manages a Linux Virtual Machine within a Dev Test Lab.

    Example Usage

    using System.IO;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
            {
                Location = "West Europe",
            });
            var exampleLab = new Azure.DevTest.Lab("exampleLab", new Azure.DevTest.LabArgs
            {
                Location = exampleResourceGroup.Location,
                ResourceGroupName = exampleResourceGroup.Name,
                Tags = 
                {
                    { "Sydney", "Australia" },
                },
            });
            var exampleVirtualNetwork = new Azure.DevTest.VirtualNetwork("exampleVirtualNetwork", new Azure.DevTest.VirtualNetworkArgs
            {
                LabName = exampleLab.Name,
                ResourceGroupName = exampleResourceGroup.Name,
                Subnet = new Azure.DevTest.Inputs.VirtualNetworkSubnetArgs
                {
                    UsePublicIpAddress = "Allow",
                    UseInVirtualMachineCreation = "Allow",
                },
            });
            var exampleLinuxVirtualMachine = new Azure.DevTest.LinuxVirtualMachine("exampleLinuxVirtualMachine", new Azure.DevTest.LinuxVirtualMachineArgs
            {
                LabName = exampleLab.Name,
                ResourceGroupName = exampleResourceGroup.Name,
                Location = exampleResourceGroup.Location,
                Size = "Standard_DS2",
                Username = "exampleuser99",
                SshKey = File.ReadAllText("~/.ssh/id_rsa.pub"),
                LabVirtualNetworkId = exampleVirtualNetwork.Id,
                LabSubnetName = exampleVirtualNetwork.Subnet.Apply(subnet => subnet.Name),
                StorageType = "Premium",
                Notes = "Some notes about this Virtual Machine.",
                GalleryImageReference = new Azure.DevTest.Inputs.LinuxVirtualMachineGalleryImageReferenceArgs
                {
                    Offer = "UbuntuServer",
                    Publisher = "Canonical",
                    Sku = "18.04-LTS",
                    Version = "latest",
                },
            });
        }
    
    }
    
    package main
    
    import (
    	"io/ioutil"
    
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func readFileOrPanic(path string) pulumi.StringPtrInput {
    	data, err := ioutil.ReadFile(path)
    	if err != nil {
    		panic(err.Error())
    	}
    	return pulumi.String(string(data))
    }
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleLab, err := devtest.NewLab(ctx, "exampleLab", &devtest.LabArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Tags: pulumi.StringMap{
    				"Sydney": pulumi.String("Australia"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := devtest.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &devtest.VirtualNetworkArgs{
    			LabName:           exampleLab.Name,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Subnet: &devtest.VirtualNetworkSubnetArgs{
    				UsePublicIpAddress:          pulumi.String("Allow"),
    				UseInVirtualMachineCreation: pulumi.String("Allow"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = devtest.NewLinuxVirtualMachine(ctx, "exampleLinuxVirtualMachine", &devtest.LinuxVirtualMachineArgs{
    			LabName:             exampleLab.Name,
    			ResourceGroupName:   exampleResourceGroup.Name,
    			Location:            exampleResourceGroup.Location,
    			Size:                pulumi.String("Standard_DS2"),
    			Username:            pulumi.String("exampleuser99"),
    			SshKey:              readFileOrPanic("~/.ssh/id_rsa.pub"),
    			LabVirtualNetworkId: exampleVirtualNetwork.ID(),
    			LabSubnetName: exampleVirtualNetwork.Subnet.ApplyT(func(subnet devtest.VirtualNetworkSubnet) (string, error) {
    				return subnet.Name, nil
    			}).(pulumi.StringOutput),
    			StorageType: pulumi.String("Premium"),
    			Notes:       pulumi.String("Some notes about this Virtual Machine."),
    			GalleryImageReference: &devtest.LinuxVirtualMachineGalleryImageReferenceArgs{
    				Offer:     pulumi.String("UbuntuServer"),
    				Publisher: pulumi.String("Canonical"),
    				Sku:       pulumi.String("18.04-LTS"),
    				Version:   pulumi.String("latest"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    import * from "fs";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
    const exampleLab = new azure.devtest.Lab("exampleLab", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        tags: {
            Sydney: "Australia",
        },
    });
    const exampleVirtualNetwork = new azure.devtest.VirtualNetwork("exampleVirtualNetwork", {
        labName: exampleLab.name,
        resourceGroupName: exampleResourceGroup.name,
        subnet: {
            usePublicIpAddress: "Allow",
            useInVirtualMachineCreation: "Allow",
        },
    });
    const exampleLinuxVirtualMachine = new azure.devtest.LinuxVirtualMachine("exampleLinuxVirtualMachine", {
        labName: exampleLab.name,
        resourceGroupName: exampleResourceGroup.name,
        location: exampleResourceGroup.location,
        size: "Standard_DS2",
        username: "exampleuser99",
        sshKey: fs.readFileSync("~/.ssh/id_rsa.pub"),
        labVirtualNetworkId: exampleVirtualNetwork.id,
        labSubnetName: exampleVirtualNetwork.subnet.apply(subnet => subnet.name),
        storageType: "Premium",
        notes: "Some notes about this Virtual Machine.",
        galleryImageReference: {
            offer: "UbuntuServer",
            publisher: "Canonical",
            sku: "18.04-LTS",
            version: "latest",
        },
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
    example_lab = azure.devtest.Lab("exampleLab",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        tags={
            "Sydney": "Australia",
        })
    example_virtual_network = azure.devtest.VirtualNetwork("exampleVirtualNetwork",
        lab_name=example_lab.name,
        resource_group_name=example_resource_group.name,
        subnet=azure.devtest.VirtualNetworkSubnetArgs(
            use_public_ip_address="Allow",
            use_in_virtual_machine_creation="Allow",
        ))
    example_linux_virtual_machine = azure.devtest.LinuxVirtualMachine("exampleLinuxVirtualMachine",
        lab_name=example_lab.name,
        resource_group_name=example_resource_group.name,
        location=example_resource_group.location,
        size="Standard_DS2",
        username="exampleuser99",
        ssh_key=(lambda path: open(path).read())("~/.ssh/id_rsa.pub"),
        lab_virtual_network_id=example_virtual_network.id,
        lab_subnet_name=example_virtual_network.subnet.name,
        storage_type="Premium",
        notes="Some notes about this Virtual Machine.",
        gallery_image_reference=azure.devtest.LinuxVirtualMachineGalleryImageReferenceArgs(
            offer="UbuntuServer",
            publisher="Canonical",
            sku="18.04-LTS",
            version="latest",
        ))
    

    Example coming soon!

    Create LinuxVirtualMachine Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new LinuxVirtualMachine(name: string, args: LinuxVirtualMachineArgs, opts?: CustomResourceOptions);
    @overload
    def LinuxVirtualMachine(resource_name: str,
                            args: LinuxVirtualMachineArgs,
                            opts: Optional[ResourceOptions] = None)
    
    @overload
    def LinuxVirtualMachine(resource_name: str,
                            opts: Optional[ResourceOptions] = None,
                            size: Optional[str] = None,
                            resource_group_name: Optional[str] = None,
                            gallery_image_reference: Optional[LinuxVirtualMachineGalleryImageReferenceArgs] = None,
                            username: Optional[str] = None,
                            lab_name: Optional[str] = None,
                            lab_subnet_name: Optional[str] = None,
                            lab_virtual_network_id: Optional[str] = None,
                            storage_type: Optional[str] = None,
                            notes: Optional[str] = None,
                            password: Optional[str] = None,
                            name: Optional[str] = None,
                            disallow_public_ip_address: Optional[bool] = None,
                            allow_claim: Optional[bool] = None,
                            ssh_key: Optional[str] = None,
                            location: Optional[str] = None,
                            tags: Optional[Mapping[str, str]] = None,
                            inbound_nat_rules: Optional[Sequence[LinuxVirtualMachineInboundNatRuleArgs]] = None)
    func NewLinuxVirtualMachine(ctx *Context, name string, args LinuxVirtualMachineArgs, opts ...ResourceOption) (*LinuxVirtualMachine, error)
    public LinuxVirtualMachine(string name, LinuxVirtualMachineArgs args, CustomResourceOptions? opts = null)
    public LinuxVirtualMachine(String name, LinuxVirtualMachineArgs args)
    public LinuxVirtualMachine(String name, LinuxVirtualMachineArgs args, CustomResourceOptions options)
    
    type: azure:devtest:LinuxVirtualMachine
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args LinuxVirtualMachineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args LinuxVirtualMachineArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args LinuxVirtualMachineArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args LinuxVirtualMachineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args LinuxVirtualMachineArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var azureLinuxVirtualMachineResource = new Azure.DevTest.LinuxVirtualMachine("azureLinuxVirtualMachineResource", new()
    {
        Size = "string",
        ResourceGroupName = "string",
        GalleryImageReference = new Azure.DevTest.Inputs.LinuxVirtualMachineGalleryImageReferenceArgs
        {
            Offer = "string",
            Publisher = "string",
            Sku = "string",
            Version = "string",
        },
        Username = "string",
        LabName = "string",
        LabSubnetName = "string",
        LabVirtualNetworkId = "string",
        StorageType = "string",
        Notes = "string",
        Password = "string",
        Name = "string",
        DisallowPublicIpAddress = false,
        AllowClaim = false,
        SshKey = "string",
        Location = "string",
        Tags = 
        {
            { "string", "string" },
        },
        InboundNatRules = new[]
        {
            new Azure.DevTest.Inputs.LinuxVirtualMachineInboundNatRuleArgs
            {
                BackendPort = 0,
                Protocol = "string",
                FrontendPort = 0,
            },
        },
    });
    
    example, err := devtest.NewLinuxVirtualMachine(ctx, "azureLinuxVirtualMachineResource", &devtest.LinuxVirtualMachineArgs{
    	Size:              pulumi.String("string"),
    	ResourceGroupName: pulumi.String("string"),
    	GalleryImageReference: &devtest.LinuxVirtualMachineGalleryImageReferenceArgs{
    		Offer:     pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    		Sku:       pulumi.String("string"),
    		Version:   pulumi.String("string"),
    	},
    	Username:                pulumi.String("string"),
    	LabName:                 pulumi.String("string"),
    	LabSubnetName:           pulumi.String("string"),
    	LabVirtualNetworkId:     pulumi.String("string"),
    	StorageType:             pulumi.String("string"),
    	Notes:                   pulumi.String("string"),
    	Password:                pulumi.String("string"),
    	Name:                    pulumi.String("string"),
    	DisallowPublicIpAddress: pulumi.Bool(false),
    	AllowClaim:              pulumi.Bool(false),
    	SshKey:                  pulumi.String("string"),
    	Location:                pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	InboundNatRules: devtest.LinuxVirtualMachineInboundNatRuleArray{
    		&devtest.LinuxVirtualMachineInboundNatRuleArgs{
    			BackendPort:  pulumi.Int(0),
    			Protocol:     pulumi.String("string"),
    			FrontendPort: pulumi.Int(0),
    		},
    	},
    })
    
    var azureLinuxVirtualMachineResource = new com.pulumi.azure.devtest.LinuxVirtualMachine("azureLinuxVirtualMachineResource", com.pulumi.azure.devtest.LinuxVirtualMachineArgs.builder()
        .size("string")
        .resourceGroupName("string")
        .galleryImageReference(LinuxVirtualMachineGalleryImageReferenceArgs.builder()
            .offer("string")
            .publisher("string")
            .sku("string")
            .version("string")
            .build())
        .username("string")
        .labName("string")
        .labSubnetName("string")
        .labVirtualNetworkId("string")
        .storageType("string")
        .notes("string")
        .password("string")
        .name("string")
        .disallowPublicIpAddress(false)
        .allowClaim(false)
        .sshKey("string")
        .location("string")
        .tags(Map.of("string", "string"))
        .inboundNatRules(LinuxVirtualMachineInboundNatRuleArgs.builder()
            .backendPort(0)
            .protocol("string")
            .frontendPort(0)
            .build())
        .build());
    
    azure_linux_virtual_machine_resource = azure.devtest.LinuxVirtualMachine("azureLinuxVirtualMachineResource",
        size="string",
        resource_group_name="string",
        gallery_image_reference={
            "offer": "string",
            "publisher": "string",
            "sku": "string",
            "version": "string",
        },
        username="string",
        lab_name="string",
        lab_subnet_name="string",
        lab_virtual_network_id="string",
        storage_type="string",
        notes="string",
        password="string",
        name="string",
        disallow_public_ip_address=False,
        allow_claim=False,
        ssh_key="string",
        location="string",
        tags={
            "string": "string",
        },
        inbound_nat_rules=[{
            "backend_port": 0,
            "protocol": "string",
            "frontend_port": 0,
        }])
    
    const azureLinuxVirtualMachineResource = new azure.devtest.LinuxVirtualMachine("azureLinuxVirtualMachineResource", {
        size: "string",
        resourceGroupName: "string",
        galleryImageReference: {
            offer: "string",
            publisher: "string",
            sku: "string",
            version: "string",
        },
        username: "string",
        labName: "string",
        labSubnetName: "string",
        labVirtualNetworkId: "string",
        storageType: "string",
        notes: "string",
        password: "string",
        name: "string",
        disallowPublicIpAddress: false,
        allowClaim: false,
        sshKey: "string",
        location: "string",
        tags: {
            string: "string",
        },
        inboundNatRules: [{
            backendPort: 0,
            protocol: "string",
            frontendPort: 0,
        }],
    });
    
    type: azure:devtest:LinuxVirtualMachine
    properties:
        allowClaim: false
        disallowPublicIpAddress: false
        galleryImageReference:
            offer: string
            publisher: string
            sku: string
            version: string
        inboundNatRules:
            - backendPort: 0
              frontendPort: 0
              protocol: string
        labName: string
        labSubnetName: string
        labVirtualNetworkId: string
        location: string
        name: string
        notes: string
        password: string
        resourceGroupName: string
        size: string
        sshKey: string
        storageType: string
        tags:
            string: string
        username: string
    

    LinuxVirtualMachine Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The LinuxVirtualMachine resource accepts the following input properties:

    GalleryImageReference LinuxVirtualMachineGalleryImageReference
    A gallery_image_reference block as defined below.
    LabName 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.
    LabSubnetName 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.
    LabVirtualNetworkId string
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    ResourceGroupName string
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    Size string
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    StorageType string
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    Username string
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AllowClaim bool
    Can this Virtual Machine be claimed by users? Defaults to true.
    DisallowPublicIpAddress bool
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    InboundNatRules List<LinuxVirtualMachineInboundNatRule>
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    Location string
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    Notes string
    Any notes about the Virtual Machine.
    Password string
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    SshKey string
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    GalleryImageReference LinuxVirtualMachineGalleryImageReferenceArgs
    A gallery_image_reference block as defined below.
    LabName 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.
    LabSubnetName 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.
    LabVirtualNetworkId string
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    ResourceGroupName string
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    Size string
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    StorageType string
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    Username string
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AllowClaim bool
    Can this Virtual Machine be claimed by users? Defaults to true.
    DisallowPublicIpAddress bool
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    InboundNatRules []LinuxVirtualMachineInboundNatRuleArgs
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    Location string
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    Notes string
    Any notes about the Virtual Machine.
    Password string
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    SshKey string
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    galleryImageReference LinuxVirtualMachineGalleryImageReference
    A gallery_image_reference block as defined below.
    labName 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.
    labSubnetName 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.
    labVirtualNetworkId String
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    resourceGroupName String
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    size String
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    storageType String
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    username String
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    allowClaim Boolean
    Can this Virtual Machine be claimed by users? Defaults to true.
    disallowPublicIpAddress Boolean
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    inboundNatRules List<LinuxVirtualMachineInboundNatRule>
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    location String
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    notes String
    Any notes about the Virtual Machine.
    password String
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    sshKey String
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    galleryImageReference LinuxVirtualMachineGalleryImageReference
    A gallery_image_reference block as defined below.
    labName 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.
    labSubnetName 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.
    labVirtualNetworkId string
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    resourceGroupName string
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    size string
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    storageType string
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    username string
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    allowClaim boolean
    Can this Virtual Machine be claimed by users? Defaults to true.
    disallowPublicIpAddress boolean
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    inboundNatRules LinuxVirtualMachineInboundNatRule[]
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    location string
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    name string
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    notes string
    Any notes about the Virtual Machine.
    password string
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    sshKey string
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    gallery_image_reference LinuxVirtualMachineGalleryImageReferenceArgs
    A gallery_image_reference block as defined below.
    lab_name str
    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.
    lab_subnet_name str
    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.
    lab_virtual_network_id str
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    resource_group_name str
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    size str
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    storage_type str
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    username str
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    allow_claim bool
    Can this Virtual Machine be claimed by users? Defaults to true.
    disallow_public_ip_address bool
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    inbound_nat_rules Sequence[LinuxVirtualMachineInboundNatRuleArgs]
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    location str
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    name str
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    notes str
    Any notes about the Virtual Machine.
    password str
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    ssh_key str
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    galleryImageReference Property Map
    A gallery_image_reference block as defined below.
    labName 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.
    labSubnetName 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.
    labVirtualNetworkId String
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    resourceGroupName String
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    size String
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    storageType String
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    username String
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    allowClaim Boolean
    Can this Virtual Machine be claimed by users? Defaults to true.
    disallowPublicIpAddress Boolean
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    inboundNatRules List<Property Map>
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    location String
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    notes String
    Any notes about the Virtual Machine.
    password String
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    sshKey String
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    tags Map<String>
    A mapping of tags to assign to the resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the LinuxVirtualMachine resource produces the following output properties:

    Fqdn string
    The FQDN of the Virtual Machine.
    Id string
    The provider-assigned unique ID for this managed resource.
    UniqueIdentifier string
    The unique immutable identifier of the Virtual Machine.
    Fqdn string
    The FQDN of the Virtual Machine.
    Id string
    The provider-assigned unique ID for this managed resource.
    UniqueIdentifier string
    The unique immutable identifier of the Virtual Machine.
    fqdn String
    The FQDN of the Virtual Machine.
    id String
    The provider-assigned unique ID for this managed resource.
    uniqueIdentifier String
    The unique immutable identifier of the Virtual Machine.
    fqdn string
    The FQDN of the Virtual Machine.
    id string
    The provider-assigned unique ID for this managed resource.
    uniqueIdentifier string
    The unique immutable identifier of the Virtual Machine.
    fqdn str
    The FQDN of the Virtual Machine.
    id str
    The provider-assigned unique ID for this managed resource.
    unique_identifier str
    The unique immutable identifier of the Virtual Machine.
    fqdn String
    The FQDN of the Virtual Machine.
    id String
    The provider-assigned unique ID for this managed resource.
    uniqueIdentifier String
    The unique immutable identifier of the Virtual Machine.

    Look up Existing LinuxVirtualMachine Resource

    Get an existing LinuxVirtualMachine resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: LinuxVirtualMachineState, opts?: CustomResourceOptions): LinuxVirtualMachine
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            allow_claim: Optional[bool] = None,
            disallow_public_ip_address: Optional[bool] = None,
            fqdn: Optional[str] = None,
            gallery_image_reference: Optional[LinuxVirtualMachineGalleryImageReferenceArgs] = None,
            inbound_nat_rules: Optional[Sequence[LinuxVirtualMachineInboundNatRuleArgs]] = None,
            lab_name: Optional[str] = None,
            lab_subnet_name: Optional[str] = None,
            lab_virtual_network_id: Optional[str] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            notes: Optional[str] = None,
            password: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            size: Optional[str] = None,
            ssh_key: Optional[str] = None,
            storage_type: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            unique_identifier: Optional[str] = None,
            username: Optional[str] = None) -> LinuxVirtualMachine
    func GetLinuxVirtualMachine(ctx *Context, name string, id IDInput, state *LinuxVirtualMachineState, opts ...ResourceOption) (*LinuxVirtualMachine, error)
    public static LinuxVirtualMachine Get(string name, Input<string> id, LinuxVirtualMachineState? state, CustomResourceOptions? opts = null)
    public static LinuxVirtualMachine get(String name, Output<String> id, LinuxVirtualMachineState state, CustomResourceOptions options)
    resources:  _:    type: azure:devtest:LinuxVirtualMachine    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AllowClaim bool
    Can this Virtual Machine be claimed by users? Defaults to true.
    DisallowPublicIpAddress bool
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    Fqdn string
    The FQDN of the Virtual Machine.
    GalleryImageReference LinuxVirtualMachineGalleryImageReference
    A gallery_image_reference block as defined below.
    InboundNatRules List<LinuxVirtualMachineInboundNatRule>
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    LabName 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.
    LabSubnetName 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.
    LabVirtualNetworkId string
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    Location string
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    Notes string
    Any notes about the Virtual Machine.
    Password string
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    ResourceGroupName string
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    Size string
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    SshKey string
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    StorageType string
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    UniqueIdentifier string
    The unique immutable identifier of the Virtual Machine.
    Username string
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AllowClaim bool
    Can this Virtual Machine be claimed by users? Defaults to true.
    DisallowPublicIpAddress bool
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    Fqdn string
    The FQDN of the Virtual Machine.
    GalleryImageReference LinuxVirtualMachineGalleryImageReferenceArgs
    A gallery_image_reference block as defined below.
    InboundNatRules []LinuxVirtualMachineInboundNatRuleArgs
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    LabName 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.
    LabSubnetName 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.
    LabVirtualNetworkId string
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    Location string
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    Notes string
    Any notes about the Virtual Machine.
    Password string
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    ResourceGroupName string
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    Size string
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    SshKey string
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    StorageType string
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    UniqueIdentifier string
    The unique immutable identifier of the Virtual Machine.
    Username string
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    allowClaim Boolean
    Can this Virtual Machine be claimed by users? Defaults to true.
    disallowPublicIpAddress Boolean
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    fqdn String
    The FQDN of the Virtual Machine.
    galleryImageReference LinuxVirtualMachineGalleryImageReference
    A gallery_image_reference block as defined below.
    inboundNatRules List<LinuxVirtualMachineInboundNatRule>
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    labName 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.
    labSubnetName 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.
    labVirtualNetworkId String
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    location String
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    notes String
    Any notes about the Virtual Machine.
    password String
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    resourceGroupName String
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    size String
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    sshKey String
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    storageType String
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    uniqueIdentifier String
    The unique immutable identifier of the Virtual Machine.
    username String
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    allowClaim boolean
    Can this Virtual Machine be claimed by users? Defaults to true.
    disallowPublicIpAddress boolean
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    fqdn string
    The FQDN of the Virtual Machine.
    galleryImageReference LinuxVirtualMachineGalleryImageReference
    A gallery_image_reference block as defined below.
    inboundNatRules LinuxVirtualMachineInboundNatRule[]
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    labName 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.
    labSubnetName 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.
    labVirtualNetworkId string
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    location string
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    name string
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    notes string
    Any notes about the Virtual Machine.
    password string
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    resourceGroupName string
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    size string
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    sshKey string
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    storageType string
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    uniqueIdentifier string
    The unique immutable identifier of the Virtual Machine.
    username string
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    allow_claim bool
    Can this Virtual Machine be claimed by users? Defaults to true.
    disallow_public_ip_address bool
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    fqdn str
    The FQDN of the Virtual Machine.
    gallery_image_reference LinuxVirtualMachineGalleryImageReferenceArgs
    A gallery_image_reference block as defined below.
    inbound_nat_rules Sequence[LinuxVirtualMachineInboundNatRuleArgs]
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    lab_name str
    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.
    lab_subnet_name str
    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.
    lab_virtual_network_id str
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    location str
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    name str
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    notes str
    Any notes about the Virtual Machine.
    password str
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    resource_group_name str
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    size str
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    ssh_key str
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    storage_type str
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    unique_identifier str
    The unique immutable identifier of the Virtual Machine.
    username str
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
    allowClaim Boolean
    Can this Virtual Machine be claimed by users? Defaults to true.
    disallowPublicIpAddress Boolean
    Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
    fqdn String
    The FQDN of the Virtual Machine.
    galleryImageReference Property Map
    A gallery_image_reference block as defined below.
    inboundNatRules List<Property Map>
    One or more inbound_nat_rule blocks as defined below. Changing this forces a new resource to be created.
    labName 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.
    labSubnetName 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.
    labVirtualNetworkId String
    The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
    location String
    Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
    notes String
    Any notes about the Virtual Machine.
    password String
    The Password associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    resourceGroupName String
    The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
    size String
    The Machine Size to use for this Virtual Machine, such as Standard_F2. Changing this forces a new resource to be created.
    sshKey String
    The SSH Key associated with the username used to login to this Virtual Machine. Changing this forces a new resource to be created.
    storageType String
    The type of Storage to use on this Virtual Machine. Possible values are Standard and Premium.
    tags Map<String>
    A mapping of tags to assign to the resource.
    uniqueIdentifier String
    The unique immutable identifier of the Virtual Machine.
    username String
    The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.

    Supporting Types

    LinuxVirtualMachineGalleryImageReference, LinuxVirtualMachineGalleryImageReferenceArgs

    Offer string
    The Offer of the Gallery Image. Changing this forces a new resource to be created.
    Publisher string
    The Publisher of the Gallery Image. Changing this forces a new resource to be created.
    Sku string
    The SKU of the Gallery Image. Changing this forces a new resource to be created.
    Version string
    The Version of the Gallery Image. Changing this forces a new resource to be created.
    Offer string
    The Offer of the Gallery Image. Changing this forces a new resource to be created.
    Publisher string
    The Publisher of the Gallery Image. Changing this forces a new resource to be created.
    Sku string
    The SKU of the Gallery Image. Changing this forces a new resource to be created.
    Version string
    The Version of the Gallery Image. Changing this forces a new resource to be created.
    offer String
    The Offer of the Gallery Image. Changing this forces a new resource to be created.
    publisher String
    The Publisher of the Gallery Image. Changing this forces a new resource to be created.
    sku String
    The SKU of the Gallery Image. Changing this forces a new resource to be created.
    version String
    The Version of the Gallery Image. Changing this forces a new resource to be created.
    offer string
    The Offer of the Gallery Image. Changing this forces a new resource to be created.
    publisher string
    The Publisher of the Gallery Image. Changing this forces a new resource to be created.
    sku string
    The SKU of the Gallery Image. Changing this forces a new resource to be created.
    version string
    The Version of the Gallery Image. Changing this forces a new resource to be created.
    offer str
    The Offer of the Gallery Image. Changing this forces a new resource to be created.
    publisher str
    The Publisher of the Gallery Image. Changing this forces a new resource to be created.
    sku str
    The SKU of the Gallery Image. Changing this forces a new resource to be created.
    version str
    The Version of the Gallery Image. Changing this forces a new resource to be created.
    offer String
    The Offer of the Gallery Image. Changing this forces a new resource to be created.
    publisher String
    The Publisher of the Gallery Image. Changing this forces a new resource to be created.
    sku String
    The SKU of the Gallery Image. Changing this forces a new resource to be created.
    version String
    The Version of the Gallery Image. Changing this forces a new resource to be created.

    LinuxVirtualMachineInboundNatRule, LinuxVirtualMachineInboundNatRuleArgs

    BackendPort int
    The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
    Protocol string
    The Protocol used for this NAT Rule. Possible values are Tcp and Udp. Changing this forces a new resource to be created.
    FrontendPort int
    The frontend port associated with this Inbound NAT Rule.
    BackendPort int
    The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
    Protocol string
    The Protocol used for this NAT Rule. Possible values are Tcp and Udp. Changing this forces a new resource to be created.
    FrontendPort int
    The frontend port associated with this Inbound NAT Rule.
    backendPort Integer
    The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
    protocol String
    The Protocol used for this NAT Rule. Possible values are Tcp and Udp. Changing this forces a new resource to be created.
    frontendPort Integer
    The frontend port associated with this Inbound NAT Rule.
    backendPort number
    The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
    protocol string
    The Protocol used for this NAT Rule. Possible values are Tcp and Udp. Changing this forces a new resource to be created.
    frontendPort number
    The frontend port associated with this Inbound NAT Rule.
    backend_port int
    The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
    protocol str
    The Protocol used for this NAT Rule. Possible values are Tcp and Udp. Changing this forces a new resource to be created.
    frontend_port int
    The frontend port associated with this Inbound NAT Rule.
    backendPort Number
    The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
    protocol String
    The Protocol used for this NAT Rule. Possible values are Tcp and Udp. Changing this forces a new resource to be created.
    frontendPort Number
    The frontend port associated with this Inbound NAT Rule.

    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
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Viewing docs for Azure v4.42.0 (Older version)
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.