We recommend using Azure Native.
azure.compute.LinuxVirtualMachine
Explore with Pulumi AI
Manages a Linux Virtual Machine.
Disclaimers
Note This provider will automatically remove the OS Disk by default - this behaviour can be configured using the
featuresconfiguration within the Provider configuration block.
Note All arguments including the administrator login and password will be stored in the raw state as plain-text.
Note This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the
azure.compute.VirtualMachineresource instead.
Note This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use the
azure.compute.VirtualMachineresource instead.
In this release there’s a known issue where the
public_ip_addressandpublic_ip_addressesfields may not be fully populated for Dynamic Public IP’s.
Example Usage
This example provisions a basic Linux Virtual Machine on an internal network.
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as std from "@pulumi/std";
const example = new azure.core.ResourceGroup("example", {
    name: "example-resources",
    location: "West Europe",
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
    name: "example-network",
    addressSpaces: ["10.0.0.0/16"],
    location: example.location,
    resourceGroupName: example.name,
});
const exampleSubnet = new azure.network.Subnet("example", {
    name: "internal",
    resourceGroupName: example.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefixes: ["10.0.2.0/24"],
});
const exampleNetworkInterface = new azure.network.NetworkInterface("example", {
    name: "example-nic",
    location: example.location,
    resourceGroupName: example.name,
    ipConfigurations: [{
        name: "internal",
        subnetId: exampleSubnet.id,
        privateIpAddressAllocation: "Dynamic",
    }],
});
const exampleLinuxVirtualMachine = new azure.compute.LinuxVirtualMachine("example", {
    name: "example-machine",
    resourceGroupName: example.name,
    location: example.location,
    size: "Standard_F2",
    adminUsername: "adminuser",
    networkInterfaceIds: [exampleNetworkInterface.id],
    adminSshKeys: [{
        username: "adminuser",
        publicKey: std.file({
            input: "~/.ssh/id_rsa.pub",
        }).then(invoke => invoke.result),
    }],
    osDisk: {
        caching: "ReadWrite",
        storageAccountType: "Standard_LRS",
    },
    sourceImageReference: {
        publisher: "Canonical",
        offer: "0001-com-ubuntu-server-jammy",
        sku: "22_04-lts",
        version: "latest",
    },
});
import pulumi
import pulumi_azure as azure
import pulumi_std as std
example = azure.core.ResourceGroup("example",
    name="example-resources",
    location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("example",
    name="example-network",
    address_spaces=["10.0.0.0/16"],
    location=example.location,
    resource_group_name=example.name)
example_subnet = azure.network.Subnet("example",
    name="internal",
    resource_group_name=example.name,
    virtual_network_name=example_virtual_network.name,
    address_prefixes=["10.0.2.0/24"])
example_network_interface = azure.network.NetworkInterface("example",
    name="example-nic",
    location=example.location,
    resource_group_name=example.name,
    ip_configurations=[{
        "name": "internal",
        "subnet_id": example_subnet.id,
        "private_ip_address_allocation": "Dynamic",
    }])
example_linux_virtual_machine = azure.compute.LinuxVirtualMachine("example",
    name="example-machine",
    resource_group_name=example.name,
    location=example.location,
    size="Standard_F2",
    admin_username="adminuser",
    network_interface_ids=[example_network_interface.id],
    admin_ssh_keys=[{
        "username": "adminuser",
        "public_key": std.file(input="~/.ssh/id_rsa.pub").result,
    }],
    os_disk={
        "caching": "ReadWrite",
        "storage_account_type": "Standard_LRS",
    },
    source_image_reference={
        "publisher": "Canonical",
        "offer": "0001-com-ubuntu-server-jammy",
        "sku": "22_04-lts",
        "version": "latest",
    })
package main
import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
	"github.com/pulumi/pulumi-std/sdk/go/std"
	"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
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name: pulumi.String("example-network"),
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
			Name:               pulumi.String("internal"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "example", &network.NetworkInterfaceArgs{
			Name:              pulumi.String("example-nic"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("internal"),
					SubnetId:                   exampleSubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
				},
			},
		})
		if err != nil {
			return err
		}
		invokeFile, err := std.File(ctx, &std.FileArgs{
			Input: "~/.ssh/id_rsa.pub",
		}, nil)
		if err != nil {
			return err
		}
		_, err = compute.NewLinuxVirtualMachine(ctx, "example", &compute.LinuxVirtualMachineArgs{
			Name:              pulumi.String("example-machine"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			Size:              pulumi.String("Standard_F2"),
			AdminUsername:     pulumi.String("adminuser"),
			NetworkInterfaceIds: pulumi.StringArray{
				exampleNetworkInterface.ID(),
			},
			AdminSshKeys: compute.LinuxVirtualMachineAdminSshKeyArray{
				&compute.LinuxVirtualMachineAdminSshKeyArgs{
					Username:  pulumi.String("adminuser"),
					PublicKey: pulumi.String(invokeFile.Result),
				},
			},
			OsDisk: &compute.LinuxVirtualMachineOsDiskArgs{
				Caching:            pulumi.String("ReadWrite"),
				StorageAccountType: pulumi.String("Standard_LRS"),
			},
			SourceImageReference: &compute.LinuxVirtualMachineSourceImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using Std = Pulumi.Std;
return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Name = "example-resources",
        Location = "West Europe",
    });
    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
    {
        Name = "example-network",
        AddressSpaces = new[]
        {
            "10.0.0.0/16",
        },
        Location = example.Location,
        ResourceGroupName = example.Name,
    });
    var exampleSubnet = new Azure.Network.Subnet("example", new()
    {
        Name = "internal",
        ResourceGroupName = example.Name,
        VirtualNetworkName = exampleVirtualNetwork.Name,
        AddressPrefixes = new[]
        {
            "10.0.2.0/24",
        },
    });
    var exampleNetworkInterface = new Azure.Network.NetworkInterface("example", new()
    {
        Name = "example-nic",
        Location = example.Location,
        ResourceGroupName = example.Name,
        IpConfigurations = new[]
        {
            new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs
            {
                Name = "internal",
                SubnetId = exampleSubnet.Id,
                PrivateIpAddressAllocation = "Dynamic",
            },
        },
    });
    var exampleLinuxVirtualMachine = new Azure.Compute.LinuxVirtualMachine("example", new()
    {
        Name = "example-machine",
        ResourceGroupName = example.Name,
        Location = example.Location,
        Size = "Standard_F2",
        AdminUsername = "adminuser",
        NetworkInterfaceIds = new[]
        {
            exampleNetworkInterface.Id,
        },
        AdminSshKeys = new[]
        {
            new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs
            {
                Username = "adminuser",
                PublicKey = Std.File.Invoke(new()
                {
                    Input = "~/.ssh/id_rsa.pub",
                }).Apply(invoke => invoke.Result),
            },
        },
        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs
        {
            Caching = "ReadWrite",
            StorageAccountType = "Standard_LRS",
        },
        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs
        {
            Publisher = "Canonical",
            Offer = "0001-com-ubuntu-server-jammy",
            Sku = "22_04-lts",
            Version = "latest",
        },
    });
});
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.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.compute.LinuxVirtualMachine;
import com.pulumi.azure.compute.LinuxVirtualMachineArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineAdminSshKeyArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineOsDiskArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineSourceImageReferenceArgs;
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 exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
            .name("example-network")
            .addressSpaces("10.0.0.0/16")
            .location(example.location())
            .resourceGroupName(example.name())
            .build());
        var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
            .name("internal")
            .resourceGroupName(example.name())
            .virtualNetworkName(exampleVirtualNetwork.name())
            .addressPrefixes("10.0.2.0/24")
            .build());
        var exampleNetworkInterface = new NetworkInterface("exampleNetworkInterface", NetworkInterfaceArgs.builder()
            .name("example-nic")
            .location(example.location())
            .resourceGroupName(example.name())
            .ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()
                .name("internal")
                .subnetId(exampleSubnet.id())
                .privateIpAddressAllocation("Dynamic")
                .build())
            .build());
        var exampleLinuxVirtualMachine = new LinuxVirtualMachine("exampleLinuxVirtualMachine", LinuxVirtualMachineArgs.builder()
            .name("example-machine")
            .resourceGroupName(example.name())
            .location(example.location())
            .size("Standard_F2")
            .adminUsername("adminuser")
            .networkInterfaceIds(exampleNetworkInterface.id())
            .adminSshKeys(LinuxVirtualMachineAdminSshKeyArgs.builder()
                .username("adminuser")
                .publicKey(StdFunctions.file(FileArgs.builder()
                    .input("~/.ssh/id_rsa.pub")
                    .build()).result())
                .build())
            .osDisk(LinuxVirtualMachineOsDiskArgs.builder()
                .caching("ReadWrite")
                .storageAccountType("Standard_LRS")
                .build())
            .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()
                .publisher("Canonical")
                .offer("0001-com-ubuntu-server-jammy")
                .sku("22_04-lts")
                .version("latest")
                .build())
            .build());
    }
}
resources:
  example:
    type: azure:core:ResourceGroup
    properties:
      name: example-resources
      location: West Europe
  exampleVirtualNetwork:
    type: azure:network:VirtualNetwork
    name: example
    properties:
      name: example-network
      addressSpaces:
        - 10.0.0.0/16
      location: ${example.location}
      resourceGroupName: ${example.name}
  exampleSubnet:
    type: azure:network:Subnet
    name: example
    properties:
      name: internal
      resourceGroupName: ${example.name}
      virtualNetworkName: ${exampleVirtualNetwork.name}
      addressPrefixes:
        - 10.0.2.0/24
  exampleNetworkInterface:
    type: azure:network:NetworkInterface
    name: example
    properties:
      name: example-nic
      location: ${example.location}
      resourceGroupName: ${example.name}
      ipConfigurations:
        - name: internal
          subnetId: ${exampleSubnet.id}
          privateIpAddressAllocation: Dynamic
  exampleLinuxVirtualMachine:
    type: azure:compute:LinuxVirtualMachine
    name: example
    properties:
      name: example-machine
      resourceGroupName: ${example.name}
      location: ${example.location}
      size: Standard_F2
      adminUsername: adminuser
      networkInterfaceIds:
        - ${exampleNetworkInterface.id}
      adminSshKeys:
        - username: adminuser
          publicKey:
            fn::invoke:
              function: std:file
              arguments:
                input: ~/.ssh/id_rsa.pub
              return: result
      osDisk:
        caching: ReadWrite
        storageAccountType: Standard_LRS
      sourceImageReference:
        publisher: Canonical
        offer: 0001-com-ubuntu-server-jammy
        sku: 22_04-lts
        version: latest
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,
                        network_interface_ids: Optional[Sequence[str]] = None,
                        size: Optional[str] = None,
                        resource_group_name: Optional[str] = None,
                        admin_username: Optional[str] = None,
                        os_disk: Optional[LinuxVirtualMachineOsDiskArgs] = None,
                        dedicated_host_id: Optional[str] = None,
                        capacity_reservation_group_id: Optional[str] = None,
                        bypass_platform_safety_checks_on_user_schedule_enabled: Optional[bool] = None,
                        allow_extension_operations: Optional[bool] = None,
                        computer_name: Optional[str] = None,
                        custom_data: Optional[str] = None,
                        dedicated_host_group_id: Optional[str] = None,
                        additional_capabilities: Optional[LinuxVirtualMachineAdditionalCapabilitiesArgs] = None,
                        disable_password_authentication: Optional[bool] = None,
                        disk_controller_type: Optional[str] = None,
                        availability_set_id: Optional[str] = None,
                        encryption_at_host_enabled: Optional[bool] = None,
                        os_image_notification: Optional[LinuxVirtualMachineOsImageNotificationArgs] = None,
                        extensions_time_budget: Optional[str] = None,
                        gallery_applications: Optional[Sequence[LinuxVirtualMachineGalleryApplicationArgs]] = None,
                        identity: Optional[LinuxVirtualMachineIdentityArgs] = None,
                        license_type: Optional[str] = None,
                        location: Optional[str] = None,
                        max_bid_price: Optional[float] = None,
                        name: Optional[str] = None,
                        edge_zone: Optional[str] = None,
                        boot_diagnostics: Optional[LinuxVirtualMachineBootDiagnosticsArgs] = None,
                        eviction_policy: Optional[str] = None,
                        patch_assessment_mode: Optional[str] = None,
                        patch_mode: Optional[str] = None,
                        plan: Optional[LinuxVirtualMachinePlanArgs] = None,
                        platform_fault_domain: Optional[int] = None,
                        priority: Optional[str] = None,
                        provision_vm_agent: Optional[bool] = None,
                        proximity_placement_group_id: Optional[str] = None,
                        reboot_setting: Optional[str] = None,
                        admin_ssh_keys: Optional[Sequence[LinuxVirtualMachineAdminSshKeyArgs]] = None,
                        secrets: Optional[Sequence[LinuxVirtualMachineSecretArgs]] = None,
                        secure_boot_enabled: Optional[bool] = None,
                        admin_password: Optional[str] = None,
                        source_image_id: Optional[str] = None,
                        source_image_reference: Optional[LinuxVirtualMachineSourceImageReferenceArgs] = None,
                        tags: Optional[Mapping[str, str]] = None,
                        termination_notification: Optional[LinuxVirtualMachineTerminationNotificationArgs] = None,
                        user_data: Optional[str] = None,
                        virtual_machine_scale_set_id: Optional[str] = None,
                        vm_agent_platform_updates_enabled: Optional[bool] = None,
                        vtpm_enabled: Optional[bool] = None,
                        zone: Optional[str] = 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:compute: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 linuxVirtualMachineResource = new Azure.Compute.LinuxVirtualMachine("linuxVirtualMachineResource", new()
{
    NetworkInterfaceIds = new[]
    {
        "string",
    },
    Size = "string",
    ResourceGroupName = "string",
    AdminUsername = "string",
    OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskArgs
    {
        Caching = "string",
        StorageAccountType = "string",
        DiffDiskSettings = new Azure.Compute.Inputs.LinuxVirtualMachineOsDiskDiffDiskSettingsArgs
        {
            Option = "string",
            Placement = "string",
        },
        DiskEncryptionSetId = "string",
        DiskSizeGb = 0,
        Id = "string",
        Name = "string",
        SecureVmDiskEncryptionSetId = "string",
        SecurityEncryptionType = "string",
        WriteAcceleratorEnabled = false,
    },
    DedicatedHostId = "string",
    CapacityReservationGroupId = "string",
    BypassPlatformSafetyChecksOnUserScheduleEnabled = false,
    AllowExtensionOperations = false,
    ComputerName = "string",
    CustomData = "string",
    DedicatedHostGroupId = "string",
    AdditionalCapabilities = new Azure.Compute.Inputs.LinuxVirtualMachineAdditionalCapabilitiesArgs
    {
        HibernationEnabled = false,
        UltraSsdEnabled = false,
    },
    DisablePasswordAuthentication = false,
    DiskControllerType = "string",
    AvailabilitySetId = "string",
    EncryptionAtHostEnabled = false,
    OsImageNotification = new Azure.Compute.Inputs.LinuxVirtualMachineOsImageNotificationArgs
    {
        Timeout = "string",
    },
    ExtensionsTimeBudget = "string",
    GalleryApplications = new[]
    {
        new Azure.Compute.Inputs.LinuxVirtualMachineGalleryApplicationArgs
        {
            VersionId = "string",
            AutomaticUpgradeEnabled = false,
            ConfigurationBlobUri = "string",
            Order = 0,
            Tag = "string",
            TreatFailureAsDeploymentFailureEnabled = false,
        },
    },
    Identity = new Azure.Compute.Inputs.LinuxVirtualMachineIdentityArgs
    {
        Type = "string",
        IdentityIds = new[]
        {
            "string",
        },
        PrincipalId = "string",
        TenantId = "string",
    },
    LicenseType = "string",
    Location = "string",
    MaxBidPrice = 0,
    Name = "string",
    EdgeZone = "string",
    BootDiagnostics = new Azure.Compute.Inputs.LinuxVirtualMachineBootDiagnosticsArgs
    {
        StorageAccountUri = "string",
    },
    EvictionPolicy = "string",
    PatchAssessmentMode = "string",
    PatchMode = "string",
    Plan = new Azure.Compute.Inputs.LinuxVirtualMachinePlanArgs
    {
        Name = "string",
        Product = "string",
        Publisher = "string",
    },
    PlatformFaultDomain = 0,
    Priority = "string",
    ProvisionVmAgent = false,
    ProximityPlacementGroupId = "string",
    RebootSetting = "string",
    AdminSshKeys = new[]
    {
        new Azure.Compute.Inputs.LinuxVirtualMachineAdminSshKeyArgs
        {
            PublicKey = "string",
            Username = "string",
        },
    },
    Secrets = new[]
    {
        new Azure.Compute.Inputs.LinuxVirtualMachineSecretArgs
        {
            Certificates = new[]
            {
                new Azure.Compute.Inputs.LinuxVirtualMachineSecretCertificateArgs
                {
                    Url = "string",
                },
            },
            KeyVaultId = "string",
        },
    },
    SecureBootEnabled = false,
    AdminPassword = "string",
    SourceImageId = "string",
    SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineSourceImageReferenceArgs
    {
        Offer = "string",
        Publisher = "string",
        Sku = "string",
        Version = "string",
    },
    Tags = 
    {
        { "string", "string" },
    },
    TerminationNotification = new Azure.Compute.Inputs.LinuxVirtualMachineTerminationNotificationArgs
    {
        Enabled = false,
        Timeout = "string",
    },
    UserData = "string",
    VirtualMachineScaleSetId = "string",
    VmAgentPlatformUpdatesEnabled = false,
    VtpmEnabled = false,
    Zone = "string",
});
example, err := compute.NewLinuxVirtualMachine(ctx, "linuxVirtualMachineResource", &compute.LinuxVirtualMachineArgs{
	NetworkInterfaceIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	Size:              pulumi.String("string"),
	ResourceGroupName: pulumi.String("string"),
	AdminUsername:     pulumi.String("string"),
	OsDisk: &compute.LinuxVirtualMachineOsDiskArgs{
		Caching:            pulumi.String("string"),
		StorageAccountType: pulumi.String("string"),
		DiffDiskSettings: &compute.LinuxVirtualMachineOsDiskDiffDiskSettingsArgs{
			Option:    pulumi.String("string"),
			Placement: pulumi.String("string"),
		},
		DiskEncryptionSetId:         pulumi.String("string"),
		DiskSizeGb:                  pulumi.Int(0),
		Id:                          pulumi.String("string"),
		Name:                        pulumi.String("string"),
		SecureVmDiskEncryptionSetId: pulumi.String("string"),
		SecurityEncryptionType:      pulumi.String("string"),
		WriteAcceleratorEnabled:     pulumi.Bool(false),
	},
	DedicatedHostId:                                 pulumi.String("string"),
	CapacityReservationGroupId:                      pulumi.String("string"),
	BypassPlatformSafetyChecksOnUserScheduleEnabled: pulumi.Bool(false),
	AllowExtensionOperations:                        pulumi.Bool(false),
	ComputerName:                                    pulumi.String("string"),
	CustomData:                                      pulumi.String("string"),
	DedicatedHostGroupId:                            pulumi.String("string"),
	AdditionalCapabilities: &compute.LinuxVirtualMachineAdditionalCapabilitiesArgs{
		HibernationEnabled: pulumi.Bool(false),
		UltraSsdEnabled:    pulumi.Bool(false),
	},
	DisablePasswordAuthentication: pulumi.Bool(false),
	DiskControllerType:            pulumi.String("string"),
	AvailabilitySetId:             pulumi.String("string"),
	EncryptionAtHostEnabled:       pulumi.Bool(false),
	OsImageNotification: &compute.LinuxVirtualMachineOsImageNotificationArgs{
		Timeout: pulumi.String("string"),
	},
	ExtensionsTimeBudget: pulumi.String("string"),
	GalleryApplications: compute.LinuxVirtualMachineGalleryApplicationArray{
		&compute.LinuxVirtualMachineGalleryApplicationArgs{
			VersionId:                              pulumi.String("string"),
			AutomaticUpgradeEnabled:                pulumi.Bool(false),
			ConfigurationBlobUri:                   pulumi.String("string"),
			Order:                                  pulumi.Int(0),
			Tag:                                    pulumi.String("string"),
			TreatFailureAsDeploymentFailureEnabled: pulumi.Bool(false),
		},
	},
	Identity: &compute.LinuxVirtualMachineIdentityArgs{
		Type: pulumi.String("string"),
		IdentityIds: pulumi.StringArray{
			pulumi.String("string"),
		},
		PrincipalId: pulumi.String("string"),
		TenantId:    pulumi.String("string"),
	},
	LicenseType: pulumi.String("string"),
	Location:    pulumi.String("string"),
	MaxBidPrice: pulumi.Float64(0),
	Name:        pulumi.String("string"),
	EdgeZone:    pulumi.String("string"),
	BootDiagnostics: &compute.LinuxVirtualMachineBootDiagnosticsArgs{
		StorageAccountUri: pulumi.String("string"),
	},
	EvictionPolicy:      pulumi.String("string"),
	PatchAssessmentMode: pulumi.String("string"),
	PatchMode:           pulumi.String("string"),
	Plan: &compute.LinuxVirtualMachinePlanArgs{
		Name:      pulumi.String("string"),
		Product:   pulumi.String("string"),
		Publisher: pulumi.String("string"),
	},
	PlatformFaultDomain:       pulumi.Int(0),
	Priority:                  pulumi.String("string"),
	ProvisionVmAgent:          pulumi.Bool(false),
	ProximityPlacementGroupId: pulumi.String("string"),
	RebootSetting:             pulumi.String("string"),
	AdminSshKeys: compute.LinuxVirtualMachineAdminSshKeyArray{
		&compute.LinuxVirtualMachineAdminSshKeyArgs{
			PublicKey: pulumi.String("string"),
			Username:  pulumi.String("string"),
		},
	},
	Secrets: compute.LinuxVirtualMachineSecretArray{
		&compute.LinuxVirtualMachineSecretArgs{
			Certificates: compute.LinuxVirtualMachineSecretCertificateArray{
				&compute.LinuxVirtualMachineSecretCertificateArgs{
					Url: pulumi.String("string"),
				},
			},
			KeyVaultId: pulumi.String("string"),
		},
	},
	SecureBootEnabled: pulumi.Bool(false),
	AdminPassword:     pulumi.String("string"),
	SourceImageId:     pulumi.String("string"),
	SourceImageReference: &compute.LinuxVirtualMachineSourceImageReferenceArgs{
		Offer:     pulumi.String("string"),
		Publisher: pulumi.String("string"),
		Sku:       pulumi.String("string"),
		Version:   pulumi.String("string"),
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	TerminationNotification: &compute.LinuxVirtualMachineTerminationNotificationArgs{
		Enabled: pulumi.Bool(false),
		Timeout: pulumi.String("string"),
	},
	UserData:                      pulumi.String("string"),
	VirtualMachineScaleSetId:      pulumi.String("string"),
	VmAgentPlatformUpdatesEnabled: pulumi.Bool(false),
	VtpmEnabled:                   pulumi.Bool(false),
	Zone:                          pulumi.String("string"),
})
var linuxVirtualMachineResource = new LinuxVirtualMachine("linuxVirtualMachineResource", LinuxVirtualMachineArgs.builder()
    .networkInterfaceIds("string")
    .size("string")
    .resourceGroupName("string")
    .adminUsername("string")
    .osDisk(LinuxVirtualMachineOsDiskArgs.builder()
        .caching("string")
        .storageAccountType("string")
        .diffDiskSettings(LinuxVirtualMachineOsDiskDiffDiskSettingsArgs.builder()
            .option("string")
            .placement("string")
            .build())
        .diskEncryptionSetId("string")
        .diskSizeGb(0)
        .id("string")
        .name("string")
        .secureVmDiskEncryptionSetId("string")
        .securityEncryptionType("string")
        .writeAcceleratorEnabled(false)
        .build())
    .dedicatedHostId("string")
    .capacityReservationGroupId("string")
    .bypassPlatformSafetyChecksOnUserScheduleEnabled(false)
    .allowExtensionOperations(false)
    .computerName("string")
    .customData("string")
    .dedicatedHostGroupId("string")
    .additionalCapabilities(LinuxVirtualMachineAdditionalCapabilitiesArgs.builder()
        .hibernationEnabled(false)
        .ultraSsdEnabled(false)
        .build())
    .disablePasswordAuthentication(false)
    .diskControllerType("string")
    .availabilitySetId("string")
    .encryptionAtHostEnabled(false)
    .osImageNotification(LinuxVirtualMachineOsImageNotificationArgs.builder()
        .timeout("string")
        .build())
    .extensionsTimeBudget("string")
    .galleryApplications(LinuxVirtualMachineGalleryApplicationArgs.builder()
        .versionId("string")
        .automaticUpgradeEnabled(false)
        .configurationBlobUri("string")
        .order(0)
        .tag("string")
        .treatFailureAsDeploymentFailureEnabled(false)
        .build())
    .identity(LinuxVirtualMachineIdentityArgs.builder()
        .type("string")
        .identityIds("string")
        .principalId("string")
        .tenantId("string")
        .build())
    .licenseType("string")
    .location("string")
    .maxBidPrice(0)
    .name("string")
    .edgeZone("string")
    .bootDiagnostics(LinuxVirtualMachineBootDiagnosticsArgs.builder()
        .storageAccountUri("string")
        .build())
    .evictionPolicy("string")
    .patchAssessmentMode("string")
    .patchMode("string")
    .plan(LinuxVirtualMachinePlanArgs.builder()
        .name("string")
        .product("string")
        .publisher("string")
        .build())
    .platformFaultDomain(0)
    .priority("string")
    .provisionVmAgent(false)
    .proximityPlacementGroupId("string")
    .rebootSetting("string")
    .adminSshKeys(LinuxVirtualMachineAdminSshKeyArgs.builder()
        .publicKey("string")
        .username("string")
        .build())
    .secrets(LinuxVirtualMachineSecretArgs.builder()
        .certificates(LinuxVirtualMachineSecretCertificateArgs.builder()
            .url("string")
            .build())
        .keyVaultId("string")
        .build())
    .secureBootEnabled(false)
    .adminPassword("string")
    .sourceImageId("string")
    .sourceImageReference(LinuxVirtualMachineSourceImageReferenceArgs.builder()
        .offer("string")
        .publisher("string")
        .sku("string")
        .version("string")
        .build())
    .tags(Map.of("string", "string"))
    .terminationNotification(LinuxVirtualMachineTerminationNotificationArgs.builder()
        .enabled(false)
        .timeout("string")
        .build())
    .userData("string")
    .virtualMachineScaleSetId("string")
    .vmAgentPlatformUpdatesEnabled(false)
    .vtpmEnabled(false)
    .zone("string")
    .build());
linux_virtual_machine_resource = azure.compute.LinuxVirtualMachine("linuxVirtualMachineResource",
    network_interface_ids=["string"],
    size="string",
    resource_group_name="string",
    admin_username="string",
    os_disk={
        "caching": "string",
        "storage_account_type": "string",
        "diff_disk_settings": {
            "option": "string",
            "placement": "string",
        },
        "disk_encryption_set_id": "string",
        "disk_size_gb": 0,
        "id": "string",
        "name": "string",
        "secure_vm_disk_encryption_set_id": "string",
        "security_encryption_type": "string",
        "write_accelerator_enabled": False,
    },
    dedicated_host_id="string",
    capacity_reservation_group_id="string",
    bypass_platform_safety_checks_on_user_schedule_enabled=False,
    allow_extension_operations=False,
    computer_name="string",
    custom_data="string",
    dedicated_host_group_id="string",
    additional_capabilities={
        "hibernation_enabled": False,
        "ultra_ssd_enabled": False,
    },
    disable_password_authentication=False,
    disk_controller_type="string",
    availability_set_id="string",
    encryption_at_host_enabled=False,
    os_image_notification={
        "timeout": "string",
    },
    extensions_time_budget="string",
    gallery_applications=[{
        "version_id": "string",
        "automatic_upgrade_enabled": False,
        "configuration_blob_uri": "string",
        "order": 0,
        "tag": "string",
        "treat_failure_as_deployment_failure_enabled": False,
    }],
    identity={
        "type": "string",
        "identity_ids": ["string"],
        "principal_id": "string",
        "tenant_id": "string",
    },
    license_type="string",
    location="string",
    max_bid_price=0,
    name="string",
    edge_zone="string",
    boot_diagnostics={
        "storage_account_uri": "string",
    },
    eviction_policy="string",
    patch_assessment_mode="string",
    patch_mode="string",
    plan={
        "name": "string",
        "product": "string",
        "publisher": "string",
    },
    platform_fault_domain=0,
    priority="string",
    provision_vm_agent=False,
    proximity_placement_group_id="string",
    reboot_setting="string",
    admin_ssh_keys=[{
        "public_key": "string",
        "username": "string",
    }],
    secrets=[{
        "certificates": [{
            "url": "string",
        }],
        "key_vault_id": "string",
    }],
    secure_boot_enabled=False,
    admin_password="string",
    source_image_id="string",
    source_image_reference={
        "offer": "string",
        "publisher": "string",
        "sku": "string",
        "version": "string",
    },
    tags={
        "string": "string",
    },
    termination_notification={
        "enabled": False,
        "timeout": "string",
    },
    user_data="string",
    virtual_machine_scale_set_id="string",
    vm_agent_platform_updates_enabled=False,
    vtpm_enabled=False,
    zone="string")
const linuxVirtualMachineResource = new azure.compute.LinuxVirtualMachine("linuxVirtualMachineResource", {
    networkInterfaceIds: ["string"],
    size: "string",
    resourceGroupName: "string",
    adminUsername: "string",
    osDisk: {
        caching: "string",
        storageAccountType: "string",
        diffDiskSettings: {
            option: "string",
            placement: "string",
        },
        diskEncryptionSetId: "string",
        diskSizeGb: 0,
        id: "string",
        name: "string",
        secureVmDiskEncryptionSetId: "string",
        securityEncryptionType: "string",
        writeAcceleratorEnabled: false,
    },
    dedicatedHostId: "string",
    capacityReservationGroupId: "string",
    bypassPlatformSafetyChecksOnUserScheduleEnabled: false,
    allowExtensionOperations: false,
    computerName: "string",
    customData: "string",
    dedicatedHostGroupId: "string",
    additionalCapabilities: {
        hibernationEnabled: false,
        ultraSsdEnabled: false,
    },
    disablePasswordAuthentication: false,
    diskControllerType: "string",
    availabilitySetId: "string",
    encryptionAtHostEnabled: false,
    osImageNotification: {
        timeout: "string",
    },
    extensionsTimeBudget: "string",
    galleryApplications: [{
        versionId: "string",
        automaticUpgradeEnabled: false,
        configurationBlobUri: "string",
        order: 0,
        tag: "string",
        treatFailureAsDeploymentFailureEnabled: false,
    }],
    identity: {
        type: "string",
        identityIds: ["string"],
        principalId: "string",
        tenantId: "string",
    },
    licenseType: "string",
    location: "string",
    maxBidPrice: 0,
    name: "string",
    edgeZone: "string",
    bootDiagnostics: {
        storageAccountUri: "string",
    },
    evictionPolicy: "string",
    patchAssessmentMode: "string",
    patchMode: "string",
    plan: {
        name: "string",
        product: "string",
        publisher: "string",
    },
    platformFaultDomain: 0,
    priority: "string",
    provisionVmAgent: false,
    proximityPlacementGroupId: "string",
    rebootSetting: "string",
    adminSshKeys: [{
        publicKey: "string",
        username: "string",
    }],
    secrets: [{
        certificates: [{
            url: "string",
        }],
        keyVaultId: "string",
    }],
    secureBootEnabled: false,
    adminPassword: "string",
    sourceImageId: "string",
    sourceImageReference: {
        offer: "string",
        publisher: "string",
        sku: "string",
        version: "string",
    },
    tags: {
        string: "string",
    },
    terminationNotification: {
        enabled: false,
        timeout: "string",
    },
    userData: "string",
    virtualMachineScaleSetId: "string",
    vmAgentPlatformUpdatesEnabled: false,
    vtpmEnabled: false,
    zone: "string",
});
type: azure:compute:LinuxVirtualMachine
properties:
    additionalCapabilities:
        hibernationEnabled: false
        ultraSsdEnabled: false
    adminPassword: string
    adminSshKeys:
        - publicKey: string
          username: string
    adminUsername: string
    allowExtensionOperations: false
    availabilitySetId: string
    bootDiagnostics:
        storageAccountUri: string
    bypassPlatformSafetyChecksOnUserScheduleEnabled: false
    capacityReservationGroupId: string
    computerName: string
    customData: string
    dedicatedHostGroupId: string
    dedicatedHostId: string
    disablePasswordAuthentication: false
    diskControllerType: string
    edgeZone: string
    encryptionAtHostEnabled: false
    evictionPolicy: string
    extensionsTimeBudget: string
    galleryApplications:
        - automaticUpgradeEnabled: false
          configurationBlobUri: string
          order: 0
          tag: string
          treatFailureAsDeploymentFailureEnabled: false
          versionId: string
    identity:
        identityIds:
            - string
        principalId: string
        tenantId: string
        type: string
    licenseType: string
    location: string
    maxBidPrice: 0
    name: string
    networkInterfaceIds:
        - string
    osDisk:
        caching: string
        diffDiskSettings:
            option: string
            placement: string
        diskEncryptionSetId: string
        diskSizeGb: 0
        id: string
        name: string
        secureVmDiskEncryptionSetId: string
        securityEncryptionType: string
        storageAccountType: string
        writeAcceleratorEnabled: false
    osImageNotification:
        timeout: string
    patchAssessmentMode: string
    patchMode: string
    plan:
        name: string
        product: string
        publisher: string
    platformFaultDomain: 0
    priority: string
    provisionVmAgent: false
    proximityPlacementGroupId: string
    rebootSetting: string
    resourceGroupName: string
    secrets:
        - certificates:
            - url: string
          keyVaultId: string
    secureBootEnabled: false
    size: string
    sourceImageId: string
    sourceImageReference:
        offer: string
        publisher: string
        sku: string
        version: string
    tags:
        string: string
    terminationNotification:
        enabled: false
        timeout: string
    userData: string
    virtualMachineScaleSetId: string
    vmAgentPlatformUpdatesEnabled: false
    vtpmEnabled: false
    zone: 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:
- AdminUsername string
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- NetworkInterface List<string>Ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- OsDisk LinuxVirtual Machine Os Disk 
- A os_diskblock as defined below.
- ResourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- Size string
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- AdditionalCapabilities LinuxVirtual Machine Additional Capabilities 
- A additional_capabilitiesblock as defined below.
- AdminPassword string
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- AdminSsh List<LinuxKeys Virtual Machine Admin Ssh Key> 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- AllowExtension boolOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- AvailabilitySet stringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- BootDiagnostics LinuxVirtual Machine Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- BypassPlatform boolSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- ComputerName string
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- CustomData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- DedicatedHost stringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- DedicatedHost stringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- DisablePassword boolAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- DiskController stringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- EdgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- EncryptionAt boolHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- EvictionPolicy string
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- ExtensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- GalleryApplications List<LinuxVirtual Machine Gallery Application> 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- Identity
LinuxVirtual Machine Identity 
- An identityblock as defined below.
- LicenseType string
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- Location string
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- MaxBid doublePrice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- Name string
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- OsImage LinuxNotification Virtual Machine Os Image Notification 
- A os_image_notificationblock as defined below.
- PatchAssessment stringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- PatchMode string
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- Plan
LinuxVirtual Machine Plan 
- A planblock as defined below. Changing this forces a new resource to be created.
- PlatformFault intDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- Priority string
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- ProvisionVm boolAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- RebootSetting string
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- Secrets
List<LinuxVirtual Machine Secret> 
- One or more secretblocks as defined below.
- SecureBoot boolEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- SourceImage stringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- SourceImage LinuxReference Virtual Machine Source Image Reference 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- Dictionary<string, string>
- A mapping of tags which should be assigned to this Virtual Machine.
- TerminationNotification LinuxVirtual Machine Termination Notification 
- A termination_notificationblock as defined below.
- UserData string
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- VirtualMachine stringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- VmAgent boolPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- VtpmEnabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Zone string
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- AdminUsername string
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- NetworkInterface []stringIds 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- OsDisk LinuxVirtual Machine Os Disk Args 
- A os_diskblock as defined below.
- ResourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- Size string
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- AdditionalCapabilities LinuxVirtual Machine Additional Capabilities Args 
- A additional_capabilitiesblock as defined below.
- AdminPassword string
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- AdminSsh []LinuxKeys Virtual Machine Admin Ssh Key Args 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- AllowExtension boolOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- AvailabilitySet stringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- BootDiagnostics LinuxVirtual Machine Boot Diagnostics Args 
- A boot_diagnosticsblock as defined below.
- BypassPlatform boolSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- ComputerName string
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- CustomData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- DedicatedHost stringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- DedicatedHost stringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- DisablePassword boolAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- DiskController stringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- EdgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- EncryptionAt boolHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- EvictionPolicy string
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- ExtensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- GalleryApplications []LinuxVirtual Machine Gallery Application Args 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- Identity
LinuxVirtual Machine Identity Args 
- An identityblock as defined below.
- LicenseType string
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- Location string
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- MaxBid float64Price 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- Name string
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- OsImage LinuxNotification Virtual Machine Os Image Notification Args 
- A os_image_notificationblock as defined below.
- PatchAssessment stringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- PatchMode string
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- Plan
LinuxVirtual Machine Plan Args 
- A planblock as defined below. Changing this forces a new resource to be created.
- PlatformFault intDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- Priority string
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- ProvisionVm boolAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- RebootSetting string
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- Secrets
[]LinuxVirtual Machine Secret Args 
- One or more secretblocks as defined below.
- SecureBoot boolEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- SourceImage stringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- SourceImage LinuxReference Virtual Machine Source Image Reference Args 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- map[string]string
- A mapping of tags which should be assigned to this Virtual Machine.
- TerminationNotification LinuxVirtual Machine Termination Notification Args 
- A termination_notificationblock as defined below.
- UserData string
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- VirtualMachine stringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- VmAgent boolPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- VtpmEnabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Zone string
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- adminUsername String
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- networkInterface List<String>Ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- osDisk LinuxVirtual Machine Os Disk 
- A os_diskblock as defined below.
- resourceGroup StringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- size String
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- additionalCapabilities LinuxVirtual Machine Additional Capabilities 
- A additional_capabilitiesblock as defined below.
- adminPassword String
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- adminSsh List<LinuxKeys Virtual Machine Admin Ssh Key> 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- allowExtension BooleanOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- availabilitySet StringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- bootDiagnostics LinuxVirtual Machine Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- bypassPlatform BooleanSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- computerName String
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- customData String
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- dedicatedHost StringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- dedicatedHost StringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- disablePassword BooleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- diskController StringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- edgeZone String
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- encryptionAt BooleanHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- evictionPolicy String
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- extensionsTime StringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- galleryApplications List<LinuxVirtual Machine Gallery Application> 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- identity
LinuxVirtual Machine Identity 
- An identityblock as defined below.
- licenseType String
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- location String
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- maxBid DoublePrice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- name String
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- osImage LinuxNotification Virtual Machine Os Image Notification 
- A os_image_notificationblock as defined below.
- patchAssessment StringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- patchMode String
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- plan
LinuxVirtual Machine Plan 
- A planblock as defined below. Changing this forces a new resource to be created.
- platformFault IntegerDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- priority String
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- provisionVm BooleanAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- rebootSetting String
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- secrets
List<LinuxVirtual Machine Secret> 
- One or more secretblocks as defined below.
- secureBoot BooleanEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- sourceImage StringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage LinuxReference Virtual Machine Source Image Reference 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- Map<String,String>
- A mapping of tags which should be assigned to this Virtual Machine.
- terminationNotification LinuxVirtual Machine Termination Notification 
- A termination_notificationblock as defined below.
- userData String
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- virtualMachine StringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- vmAgent BooleanPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- vtpmEnabled Boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone String
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- adminUsername string
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- networkInterface string[]Ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- osDisk LinuxVirtual Machine Os Disk 
- A os_diskblock as defined below.
- resourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- size string
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- additionalCapabilities LinuxVirtual Machine Additional Capabilities 
- A additional_capabilitiesblock as defined below.
- adminPassword string
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- adminSsh LinuxKeys Virtual Machine Admin Ssh Key[] 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- allowExtension booleanOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- availabilitySet stringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- bootDiagnostics LinuxVirtual Machine Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- bypassPlatform booleanSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- capacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- computerName string
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- customData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- dedicatedHost stringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- dedicatedHost stringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- disablePassword booleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- diskController stringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- edgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- encryptionAt booleanHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- evictionPolicy string
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- extensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- galleryApplications LinuxVirtual Machine Gallery Application[] 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- identity
LinuxVirtual Machine Identity 
- An identityblock as defined below.
- licenseType string
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- location string
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- maxBid numberPrice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- name string
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- osImage LinuxNotification Virtual Machine Os Image Notification 
- A os_image_notificationblock as defined below.
- patchAssessment stringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- patchMode string
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- plan
LinuxVirtual Machine Plan 
- A planblock as defined below. Changing this forces a new resource to be created.
- platformFault numberDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- priority string
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- provisionVm booleanAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- proximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- rebootSetting string
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- secrets
LinuxVirtual Machine Secret[] 
- One or more secretblocks as defined below.
- secureBoot booleanEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- sourceImage stringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage LinuxReference Virtual Machine Source Image Reference 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- {[key: string]: string}
- A mapping of tags which should be assigned to this Virtual Machine.
- terminationNotification LinuxVirtual Machine Termination Notification 
- A termination_notificationblock as defined below.
- userData string
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- virtualMachine stringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- vmAgent booleanPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- vtpmEnabled boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone string
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- admin_username str
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- network_interface_ Sequence[str]ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- os_disk LinuxVirtual Machine Os Disk Args 
- A os_diskblock as defined below.
- resource_group_ strname 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- size str
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- additional_capabilities LinuxVirtual Machine Additional Capabilities Args 
- A additional_capabilitiesblock as defined below.
- admin_password str
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- admin_ssh_ Sequence[Linuxkeys Virtual Machine Admin Ssh Key Args] 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- allow_extension_ booloperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- availability_set_ strid 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot_diagnostics LinuxVirtual Machine Boot Diagnostics Args 
- A boot_diagnosticsblock as defined below.
- bypass_platform_ boolsafety_ checks_ on_ user_ schedule_ enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- capacity_reservation_ strgroup_ id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- computer_name str
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- custom_data str
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- dedicated_host_ strgroup_ id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- dedicated_host_ strid 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- disable_password_ boolauthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- disk_controller_ strtype 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- edge_zone str
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- encryption_at_ boolhost_ enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- eviction_policy str
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- extensions_time_ strbudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- gallery_applications Sequence[LinuxVirtual Machine Gallery Application Args] 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- identity
LinuxVirtual Machine Identity Args 
- An identityblock as defined below.
- license_type str
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- location str
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- max_bid_ floatprice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- name str
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- os_image_ Linuxnotification Virtual Machine Os Image Notification Args 
- A os_image_notificationblock as defined below.
- patch_assessment_ strmode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- patch_mode str
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- plan
LinuxVirtual Machine Plan Args 
- A planblock as defined below. Changing this forces a new resource to be created.
- platform_fault_ intdomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- priority str
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- provision_vm_ boolagent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- proximity_placement_ strgroup_ id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- reboot_setting str
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- secrets
Sequence[LinuxVirtual Machine Secret Args] 
- One or more secretblocks as defined below.
- secure_boot_ boolenabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- source_image_ strid 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- source_image_ Linuxreference Virtual Machine Source Image Reference Args 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- Mapping[str, str]
- A mapping of tags which should be assigned to this Virtual Machine.
- termination_notification LinuxVirtual Machine Termination Notification Args 
- A termination_notificationblock as defined below.
- user_data str
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- virtual_machine_ strscale_ set_ id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- vm_agent_ boolplatform_ updates_ enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- vtpm_enabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone str
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- adminUsername String
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- networkInterface List<String>Ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- osDisk Property Map
- A os_diskblock as defined below.
- resourceGroup StringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- size String
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- additionalCapabilities Property Map
- A additional_capabilitiesblock as defined below.
- adminPassword String
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- adminSsh List<Property Map>Keys 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- allowExtension BooleanOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- availabilitySet StringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- bootDiagnostics Property Map
- A boot_diagnosticsblock as defined below.
- bypassPlatform BooleanSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- computerName String
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- customData String
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- dedicatedHost StringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- dedicatedHost StringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- disablePassword BooleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- diskController StringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- edgeZone String
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- encryptionAt BooleanHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- evictionPolicy String
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- extensionsTime StringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- galleryApplications List<Property Map>
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- identity Property Map
- An identityblock as defined below.
- licenseType String
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- location String
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- maxBid NumberPrice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- name String
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- osImage Property MapNotification 
- A os_image_notificationblock as defined below.
- patchAssessment StringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- patchMode String
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- plan Property Map
- A planblock as defined below. Changing this forces a new resource to be created.
- platformFault NumberDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- priority String
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- provisionVm BooleanAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- rebootSetting String
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- secrets List<Property Map>
- One or more secretblocks as defined below.
- secureBoot BooleanEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- sourceImage StringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage Property MapReference 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- Map<String>
- A mapping of tags which should be assigned to this Virtual Machine.
- terminationNotification Property Map
- A termination_notificationblock as defined below.
- userData String
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- virtualMachine StringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- vmAgent BooleanPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- vtpmEnabled Boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone String
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the LinuxVirtualMachine resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- PrivateIp stringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- PrivateIp List<string>Addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- PublicIp stringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- PublicIp List<string>Addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- VirtualMachine stringId 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- Id string
- The provider-assigned unique ID for this managed resource.
- PrivateIp stringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- PrivateIp []stringAddresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- PublicIp stringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- PublicIp []stringAddresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- VirtualMachine stringId 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- id String
- The provider-assigned unique ID for this managed resource.
- privateIp StringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- privateIp List<String>Addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- publicIp StringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- publicIp List<String>Addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- virtualMachine StringId 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- id string
- The provider-assigned unique ID for this managed resource.
- privateIp stringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- privateIp string[]Addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- publicIp stringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- publicIp string[]Addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- virtualMachine stringId 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- id str
- The provider-assigned unique ID for this managed resource.
- private_ip_ straddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- private_ip_ Sequence[str]addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- public_ip_ straddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- public_ip_ Sequence[str]addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- virtual_machine_ strid 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- id String
- The provider-assigned unique ID for this managed resource.
- privateIp StringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- privateIp List<String>Addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- publicIp StringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- publicIp List<String>Addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- virtualMachine StringId 
- A 128-bit identifier which uniquely identifies this 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,
        additional_capabilities: Optional[LinuxVirtualMachineAdditionalCapabilitiesArgs] = None,
        admin_password: Optional[str] = None,
        admin_ssh_keys: Optional[Sequence[LinuxVirtualMachineAdminSshKeyArgs]] = None,
        admin_username: Optional[str] = None,
        allow_extension_operations: Optional[bool] = None,
        availability_set_id: Optional[str] = None,
        boot_diagnostics: Optional[LinuxVirtualMachineBootDiagnosticsArgs] = None,
        bypass_platform_safety_checks_on_user_schedule_enabled: Optional[bool] = None,
        capacity_reservation_group_id: Optional[str] = None,
        computer_name: Optional[str] = None,
        custom_data: Optional[str] = None,
        dedicated_host_group_id: Optional[str] = None,
        dedicated_host_id: Optional[str] = None,
        disable_password_authentication: Optional[bool] = None,
        disk_controller_type: Optional[str] = None,
        edge_zone: Optional[str] = None,
        encryption_at_host_enabled: Optional[bool] = None,
        eviction_policy: Optional[str] = None,
        extensions_time_budget: Optional[str] = None,
        gallery_applications: Optional[Sequence[LinuxVirtualMachineGalleryApplicationArgs]] = None,
        identity: Optional[LinuxVirtualMachineIdentityArgs] = None,
        license_type: Optional[str] = None,
        location: Optional[str] = None,
        max_bid_price: Optional[float] = None,
        name: Optional[str] = None,
        network_interface_ids: Optional[Sequence[str]] = None,
        os_disk: Optional[LinuxVirtualMachineOsDiskArgs] = None,
        os_image_notification: Optional[LinuxVirtualMachineOsImageNotificationArgs] = None,
        patch_assessment_mode: Optional[str] = None,
        patch_mode: Optional[str] = None,
        plan: Optional[LinuxVirtualMachinePlanArgs] = None,
        platform_fault_domain: Optional[int] = None,
        priority: Optional[str] = None,
        private_ip_address: Optional[str] = None,
        private_ip_addresses: Optional[Sequence[str]] = None,
        provision_vm_agent: Optional[bool] = None,
        proximity_placement_group_id: Optional[str] = None,
        public_ip_address: Optional[str] = None,
        public_ip_addresses: Optional[Sequence[str]] = None,
        reboot_setting: Optional[str] = None,
        resource_group_name: Optional[str] = None,
        secrets: Optional[Sequence[LinuxVirtualMachineSecretArgs]] = None,
        secure_boot_enabled: Optional[bool] = None,
        size: Optional[str] = None,
        source_image_id: Optional[str] = None,
        source_image_reference: Optional[LinuxVirtualMachineSourceImageReferenceArgs] = None,
        tags: Optional[Mapping[str, str]] = None,
        termination_notification: Optional[LinuxVirtualMachineTerminationNotificationArgs] = None,
        user_data: Optional[str] = None,
        virtual_machine_id: Optional[str] = None,
        virtual_machine_scale_set_id: Optional[str] = None,
        vm_agent_platform_updates_enabled: Optional[bool] = None,
        vtpm_enabled: Optional[bool] = None,
        zone: Optional[str] = None) -> LinuxVirtualMachinefunc 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:compute: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.
- AdditionalCapabilities LinuxVirtual Machine Additional Capabilities 
- A additional_capabilitiesblock as defined below.
- AdminPassword string
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- AdminSsh List<LinuxKeys Virtual Machine Admin Ssh Key> 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- AdminUsername string
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- AllowExtension boolOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- AvailabilitySet stringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- BootDiagnostics LinuxVirtual Machine Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- BypassPlatform boolSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- ComputerName string
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- CustomData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- DedicatedHost stringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- DedicatedHost stringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- DisablePassword boolAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- DiskController stringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- EdgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- EncryptionAt boolHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- EvictionPolicy string
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- ExtensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- GalleryApplications List<LinuxVirtual Machine Gallery Application> 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- Identity
LinuxVirtual Machine Identity 
- An identityblock as defined below.
- LicenseType string
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- Location string
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- MaxBid doublePrice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- Name string
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- NetworkInterface List<string>Ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- OsDisk LinuxVirtual Machine Os Disk 
- A os_diskblock as defined below.
- OsImage LinuxNotification Virtual Machine Os Image Notification 
- A os_image_notificationblock as defined below.
- PatchAssessment stringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- PatchMode string
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- Plan
LinuxVirtual Machine Plan 
- A planblock as defined below. Changing this forces a new resource to be created.
- PlatformFault intDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- Priority string
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- PrivateIp stringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- PrivateIp List<string>Addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- ProvisionVm boolAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- PublicIp stringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- PublicIp List<string>Addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- RebootSetting string
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- ResourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- Secrets
List<LinuxVirtual Machine Secret> 
- One or more secretblocks as defined below.
- SecureBoot boolEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Size string
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- SourceImage stringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- SourceImage LinuxReference Virtual Machine Source Image Reference 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- Dictionary<string, string>
- A mapping of tags which should be assigned to this Virtual Machine.
- TerminationNotification LinuxVirtual Machine Termination Notification 
- A termination_notificationblock as defined below.
- UserData string
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- VirtualMachine stringId 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- VirtualMachine stringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- VmAgent boolPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- VtpmEnabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Zone string
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- AdditionalCapabilities LinuxVirtual Machine Additional Capabilities Args 
- A additional_capabilitiesblock as defined below.
- AdminPassword string
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- AdminSsh []LinuxKeys Virtual Machine Admin Ssh Key Args 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- AdminUsername string
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- AllowExtension boolOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- AvailabilitySet stringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- BootDiagnostics LinuxVirtual Machine Boot Diagnostics Args 
- A boot_diagnosticsblock as defined below.
- BypassPlatform boolSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- ComputerName string
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- CustomData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- DedicatedHost stringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- DedicatedHost stringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- DisablePassword boolAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- DiskController stringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- EdgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- EncryptionAt boolHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- EvictionPolicy string
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- ExtensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- GalleryApplications []LinuxVirtual Machine Gallery Application Args 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- Identity
LinuxVirtual Machine Identity Args 
- An identityblock as defined below.
- LicenseType string
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- Location string
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- MaxBid float64Price 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- Name string
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- NetworkInterface []stringIds 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- OsDisk LinuxVirtual Machine Os Disk Args 
- A os_diskblock as defined below.
- OsImage LinuxNotification Virtual Machine Os Image Notification Args 
- A os_image_notificationblock as defined below.
- PatchAssessment stringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- PatchMode string
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- Plan
LinuxVirtual Machine Plan Args 
- A planblock as defined below. Changing this forces a new resource to be created.
- PlatformFault intDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- Priority string
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- PrivateIp stringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- PrivateIp []stringAddresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- ProvisionVm boolAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- PublicIp stringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- PublicIp []stringAddresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- RebootSetting string
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- ResourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- Secrets
[]LinuxVirtual Machine Secret Args 
- One or more secretblocks as defined below.
- SecureBoot boolEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Size string
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- SourceImage stringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- SourceImage LinuxReference Virtual Machine Source Image Reference Args 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- map[string]string
- A mapping of tags which should be assigned to this Virtual Machine.
- TerminationNotification LinuxVirtual Machine Termination Notification Args 
- A termination_notificationblock as defined below.
- UserData string
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- VirtualMachine stringId 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- VirtualMachine stringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- VmAgent boolPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- VtpmEnabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Zone string
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- additionalCapabilities LinuxVirtual Machine Additional Capabilities 
- A additional_capabilitiesblock as defined below.
- adminPassword String
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- adminSsh List<LinuxKeys Virtual Machine Admin Ssh Key> 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- adminUsername String
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- allowExtension BooleanOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- availabilitySet StringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- bootDiagnostics LinuxVirtual Machine Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- bypassPlatform BooleanSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- computerName String
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- customData String
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- dedicatedHost StringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- dedicatedHost StringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- disablePassword BooleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- diskController StringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- edgeZone String
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- encryptionAt BooleanHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- evictionPolicy String
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- extensionsTime StringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- galleryApplications List<LinuxVirtual Machine Gallery Application> 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- identity
LinuxVirtual Machine Identity 
- An identityblock as defined below.
- licenseType String
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- location String
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- maxBid DoublePrice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- name String
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- networkInterface List<String>Ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- osDisk LinuxVirtual Machine Os Disk 
- A os_diskblock as defined below.
- osImage LinuxNotification Virtual Machine Os Image Notification 
- A os_image_notificationblock as defined below.
- patchAssessment StringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- patchMode String
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- plan
LinuxVirtual Machine Plan 
- A planblock as defined below. Changing this forces a new resource to be created.
- platformFault IntegerDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- priority String
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- privateIp StringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- privateIp List<String>Addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- provisionVm BooleanAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- publicIp StringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- publicIp List<String>Addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- rebootSetting String
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- resourceGroup StringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- secrets
List<LinuxVirtual Machine Secret> 
- One or more secretblocks as defined below.
- secureBoot BooleanEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- size String
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- sourceImage StringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage LinuxReference Virtual Machine Source Image Reference 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- Map<String,String>
- A mapping of tags which should be assigned to this Virtual Machine.
- terminationNotification LinuxVirtual Machine Termination Notification 
- A termination_notificationblock as defined below.
- userData String
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- virtualMachine StringId 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- virtualMachine StringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- vmAgent BooleanPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- vtpmEnabled Boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone String
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- additionalCapabilities LinuxVirtual Machine Additional Capabilities 
- A additional_capabilitiesblock as defined below.
- adminPassword string
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- adminSsh LinuxKeys Virtual Machine Admin Ssh Key[] 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- adminUsername string
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- allowExtension booleanOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- availabilitySet stringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- bootDiagnostics LinuxVirtual Machine Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- bypassPlatform booleanSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- capacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- computerName string
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- customData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- dedicatedHost stringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- dedicatedHost stringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- disablePassword booleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- diskController stringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- edgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- encryptionAt booleanHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- evictionPolicy string
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- extensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- galleryApplications LinuxVirtual Machine Gallery Application[] 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- identity
LinuxVirtual Machine Identity 
- An identityblock as defined below.
- licenseType string
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- location string
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- maxBid numberPrice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- name string
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- networkInterface string[]Ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- osDisk LinuxVirtual Machine Os Disk 
- A os_diskblock as defined below.
- osImage LinuxNotification Virtual Machine Os Image Notification 
- A os_image_notificationblock as defined below.
- patchAssessment stringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- patchMode string
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- plan
LinuxVirtual Machine Plan 
- A planblock as defined below. Changing this forces a new resource to be created.
- platformFault numberDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- priority string
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- privateIp stringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- privateIp string[]Addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- provisionVm booleanAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- proximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- publicIp stringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- publicIp string[]Addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- rebootSetting string
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- resourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- secrets
LinuxVirtual Machine Secret[] 
- One or more secretblocks as defined below.
- secureBoot booleanEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- size string
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- sourceImage stringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage LinuxReference Virtual Machine Source Image Reference 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- {[key: string]: string}
- A mapping of tags which should be assigned to this Virtual Machine.
- terminationNotification LinuxVirtual Machine Termination Notification 
- A termination_notificationblock as defined below.
- userData string
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- virtualMachine stringId 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- virtualMachine stringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- vmAgent booleanPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- vtpmEnabled boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone string
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- additional_capabilities LinuxVirtual Machine Additional Capabilities Args 
- A additional_capabilitiesblock as defined below.
- admin_password str
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- admin_ssh_ Sequence[Linuxkeys Virtual Machine Admin Ssh Key Args] 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- admin_username str
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- allow_extension_ booloperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- availability_set_ strid 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot_diagnostics LinuxVirtual Machine Boot Diagnostics Args 
- A boot_diagnosticsblock as defined below.
- bypass_platform_ boolsafety_ checks_ on_ user_ schedule_ enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- capacity_reservation_ strgroup_ id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- computer_name str
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- custom_data str
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- dedicated_host_ strgroup_ id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- dedicated_host_ strid 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- disable_password_ boolauthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- disk_controller_ strtype 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- edge_zone str
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- encryption_at_ boolhost_ enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- eviction_policy str
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- extensions_time_ strbudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- gallery_applications Sequence[LinuxVirtual Machine Gallery Application Args] 
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- identity
LinuxVirtual Machine Identity Args 
- An identityblock as defined below.
- license_type str
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- location str
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- max_bid_ floatprice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- name str
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- network_interface_ Sequence[str]ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- os_disk LinuxVirtual Machine Os Disk Args 
- A os_diskblock as defined below.
- os_image_ Linuxnotification Virtual Machine Os Image Notification Args 
- A os_image_notificationblock as defined below.
- patch_assessment_ strmode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- patch_mode str
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- plan
LinuxVirtual Machine Plan Args 
- A planblock as defined below. Changing this forces a new resource to be created.
- platform_fault_ intdomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- priority str
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- private_ip_ straddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- private_ip_ Sequence[str]addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- provision_vm_ boolagent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- proximity_placement_ strgroup_ id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- public_ip_ straddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- public_ip_ Sequence[str]addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- reboot_setting str
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- resource_group_ strname 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- secrets
Sequence[LinuxVirtual Machine Secret Args] 
- One or more secretblocks as defined below.
- secure_boot_ boolenabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- size str
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- source_image_ strid 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- source_image_ Linuxreference Virtual Machine Source Image Reference Args 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- Mapping[str, str]
- A mapping of tags which should be assigned to this Virtual Machine.
- termination_notification LinuxVirtual Machine Termination Notification Args 
- A termination_notificationblock as defined below.
- user_data str
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- virtual_machine_ strid 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- virtual_machine_ strscale_ set_ id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- vm_agent_ boolplatform_ updates_ enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- vtpm_enabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone str
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
- additionalCapabilities Property Map
- A additional_capabilitiesblock as defined below.
- adminPassword String
- The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false. NOTE: One of either- admin_passwordor- admin_ssh_keymust be specified.
- adminSsh List<Property Map>Keys 
- One or more - admin_ssh_keyblocks as defined below. Changing this forces a new resource to be created.- NOTE: One of either - admin_passwordor- admin_ssh_keymust be specified.
- adminUsername String
- The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
- allowExtension BooleanOperations 
- Should Extension Operations be allowed on this Virtual Machine? Defaults to true.
- availabilitySet StringId 
- Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- bootDiagnostics Property Map
- A boot_diagnosticsblock as defined below.
- bypassPlatform BooleanSafety Checks On User Schedule Enabled 
- Specifies whether to skip platform scheduled patching when a user schedule is associated with the VM. Defaults to - false.- NOTE: - bypass_platform_safety_checks_on_user_schedule_enabledcan only be set to- truewhen- patch_modeis set to- AutomaticByPlatform.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine should be allocated to. - NOTE: - capacity_reservation_group_idcannot be used with- availability_set_idor- proximity_placement_group_id
- computerName String
- Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name, then you must specifycomputer_name. Changing this forces a new resource to be created.
- customData String
- The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
- dedicatedHost StringGroup Id 
- The ID of a Dedicated Host Group that this Linux Virtual Machine should be run within. Conflicts with dedicated_host_id.
- dedicatedHost StringId 
- The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
- disablePassword BooleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information. - NOTE: When an - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- diskController StringType 
- Specifies the Disk Controller Type used for this Virtual Machine. Possible values are SCSIandNVMe.
- edgeZone String
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine should exist. Changing this forces a new Linux Virtual Machine to be created.
- encryptionAt BooleanHost Enabled 
- Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- evictionPolicy String
- Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. Possible values are - Deallocateand- Delete. Changing this forces a new resource to be created.- NOTE: This can only be configured when - priorityis set to- Spot.
- extensionsTime StringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
- galleryApplications List<Property Map>
- One or more - gallery_applicationblocks as defined below.- Note Gallery Application Assignments can be defined either directly on - azure.compute.LinuxVirtualMachineresource, or using the- azure.compute.GalleryApplicationAssignmentresource - but the two approaches cannot be used together. If both are used with the same Virtual Machine, spurious changes will occur. If- azure.compute.GalleryApplicationAssignmentis used, it's recommended to use- ignore_changesfor the- gallery_applicationblock on the corresponding- azure.compute.LinuxVirtualMachineresource, to avoid a persistent diff when using this resource.
- identity Property Map
- An identityblock as defined below.
- licenseType String
- Specifies the License Type for this Virtual Machine. Possible values are RHEL_BYOS,RHEL_BASE,RHEL_EUS,RHEL_SAPAPPS,RHEL_SAPHA,RHEL_BASESAPAPPS,RHEL_BASESAPHA,SLES_BYOS,SLES_SAP,SLES_HPC,UBUNTU_PRO.
- location String
- The Azure location where the Linux Virtual Machine should exist. Changing this forces a new resource to be created.
- maxBid NumberPrice 
- The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the - eviction_policy. Defaults to- -1, which means that the Virtual Machine should not be evicted for price reasons.- NOTE: This can only be configured when - priorityis set to- Spot.
- name String
- The name of the Linux Virtual Machine. Changing this forces a new resource to be created.
- networkInterface List<String>Ids 
- . A list of Network Interface IDs which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
- osDisk Property Map
- A os_diskblock as defined below.
- osImage Property MapNotification 
- A os_image_notificationblock as defined below.
- patchAssessment StringMode 
- Specifies the mode of VM Guest Patching for the Virtual Machine. Possible values are - AutomaticByPlatformor- ImageDefault. Defaults to- ImageDefault.- NOTE: If the - patch_assessment_modeis set to- AutomaticByPlatformthen the- provision_vm_agentfield must be set to- true.
- patchMode String
- Specifies the mode of in-guest patching to this Linux Virtual Machine. Possible values are - AutomaticByPlatformand- ImageDefault. Defaults to- ImageDefault. For more information on patch modes please see the product documentation.- NOTE: If - patch_modeis set to- AutomaticByPlatformthen- provision_vm_agentmust also be set to- true.
- plan Property Map
- A planblock as defined below. Changing this forces a new resource to be created.
- platformFault NumberDomain 
- Specifies the Platform Fault Domain in which this Linux Virtual Machine should be created. Defaults to -1, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Linux Virtual Machine to be created.
- priority String
- Specifies the priority of this Virtual Machine. Possible values are RegularandSpot. Defaults toRegular. Changing this forces a new resource to be created.
- privateIp StringAddress 
- The Primary Private IP Address assigned to this Virtual Machine.
- privateIp List<String>Addresses 
- A list of Private IP Addresses assigned to this Virtual Machine.
- provisionVm BooleanAgent 
- Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to - true. Changing this forces a new resource to be created.- NOTE: If - provision_vm_agentis set to- falsethen- allow_extension_operationsmust also be set to- false.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
- publicIp StringAddress 
- The Primary Public IP Address assigned to this Virtual Machine.
- publicIp List<String>Addresses 
- A list of the Public IP Addresses assigned to this Virtual Machine.
- rebootSetting String
- Specifies the reboot setting for platform scheduled patching. Possible values are - Always,- IfRequiredand- Never.- NOTE: - reboot_settingcan only be set when- patch_modeis set to- AutomaticByPlatform.
- resourceGroup StringName 
- The name of the Resource Group in which the Linux Virtual Machine should be exist. Changing this forces a new resource to be created.
- secrets List<Property Map>
- One or more secretblocks as defined below.
- secureBoot BooleanEnabled 
- Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- size String
- The SKU which should be used for this Virtual Machine, such as Standard_F2.
- sourceImage StringId 
- The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include - Image IDs,- Shared Image IDs,- Shared Image Version IDs,- Community Gallery Image IDs,- Community Gallery Image Version IDs,- Shared Gallery Image IDs and- Shared Gallery Image Version IDs.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage Property MapReference 
- A - source_image_referenceblock as defined below. Changing this forces a new resource to be created.- NOTE: One of either - source_image_idor- source_image_referencemust be set.
- Map<String>
- A mapping of tags which should be assigned to this Virtual Machine.
- terminationNotification Property Map
- A termination_notificationblock as defined below.
- userData String
- The Base64-Encoded User Data which should be used for this Virtual Machine.
- virtualMachine StringId 
- A 128-bit identifier which uniquely identifies this Virtual Machine.
- virtualMachine StringScale Set Id 
- Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. - NOTE: To update - virtual_machine_scale_set_idthe Preview Feature- Microsoft.Compute/SingleFDAttachDetachVMToVmssneeds to be enabled, see the documentation for more information.- NOTE: Orchestrated Virtual Machine Scale Sets can be provisioned using the - azure.compute.OrchestratedVirtualMachineScaleSetresource.- NOTE: To attach an existing VM to a Virtual Machine Scale Set, the scale set must have - single_placement_groupset to- false, see the documentation for more information.
- vmAgent BooleanPlatform Updates Enabled 
- Specifies whether VMAgent Platform Updates is enabled. Defaults to false.
- vtpmEnabled Boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone String
- Specifies the Availability Zones in which this Linux Virtual Machine should be located. Changing this forces a new Linux Virtual Machine to be created.
Supporting Types
LinuxVirtualMachineAdditionalCapabilities, LinuxVirtualMachineAdditionalCapabilitiesArgs          
- HibernationEnabled bool
- Whether to enable the hibernation capability or not.
- UltraSsd boolEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine? Defaults tofalse.
- HibernationEnabled bool
- Whether to enable the hibernation capability or not.
- UltraSsd boolEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine? Defaults tofalse.
- hibernationEnabled Boolean
- Whether to enable the hibernation capability or not.
- ultraSsd BooleanEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine? Defaults tofalse.
- hibernationEnabled boolean
- Whether to enable the hibernation capability or not.
- ultraSsd booleanEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine? Defaults tofalse.
- hibernation_enabled bool
- Whether to enable the hibernation capability or not.
- ultra_ssd_ boolenabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine? Defaults tofalse.
- hibernationEnabled Boolean
- Whether to enable the hibernation capability or not.
- ultraSsd BooleanEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine? Defaults tofalse.
LinuxVirtualMachineAdminSshKey, LinuxVirtualMachineAdminSshKeyArgs            
- PublicKey string
- The Public Key which should be used for authentication, which needs to be in ssh-rsaformat with at least 2048-bit or inssh-ed25519format. Changing this forces a new resource to be created.
- Username string
- The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created. - NOTE: The Azure VM Agent only allows creating SSH Keys at the path - /home/{username}/.ssh/authorized_keys- as such this public key will be written to the authorized keys file.
- PublicKey string
- The Public Key which should be used for authentication, which needs to be in ssh-rsaformat with at least 2048-bit or inssh-ed25519format. Changing this forces a new resource to be created.
- Username string
- The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created. - NOTE: The Azure VM Agent only allows creating SSH Keys at the path - /home/{username}/.ssh/authorized_keys- as such this public key will be written to the authorized keys file.
- publicKey String
- The Public Key which should be used for authentication, which needs to be in ssh-rsaformat with at least 2048-bit or inssh-ed25519format. Changing this forces a new resource to be created.
- username String
- The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created. - NOTE: The Azure VM Agent only allows creating SSH Keys at the path - /home/{username}/.ssh/authorized_keys- as such this public key will be written to the authorized keys file.
- publicKey string
- The Public Key which should be used for authentication, which needs to be in ssh-rsaformat with at least 2048-bit or inssh-ed25519format. Changing this forces a new resource to be created.
- username string
- The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created. - NOTE: The Azure VM Agent only allows creating SSH Keys at the path - /home/{username}/.ssh/authorized_keys- as such this public key will be written to the authorized keys file.
- public_key str
- The Public Key which should be used for authentication, which needs to be in ssh-rsaformat with at least 2048-bit or inssh-ed25519format. Changing this forces a new resource to be created.
- username str
- The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created. - NOTE: The Azure VM Agent only allows creating SSH Keys at the path - /home/{username}/.ssh/authorized_keys- as such this public key will be written to the authorized keys file.
- publicKey String
- The Public Key which should be used for authentication, which needs to be in ssh-rsaformat with at least 2048-bit or inssh-ed25519format. Changing this forces a new resource to be created.
- username String
- The Username for which this Public SSH Key should be configured. Changing this forces a new resource to be created. - NOTE: The Azure VM Agent only allows creating SSH Keys at the path - /home/{username}/.ssh/authorized_keys- as such this public key will be written to the authorized keys file.
LinuxVirtualMachineBootDiagnostics, LinuxVirtualMachineBootDiagnosticsArgs          
- StorageAccount stringUri 
- The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. - NOTE: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics 
- StorageAccount stringUri 
- The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. - NOTE: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics 
- storageAccount StringUri 
- The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. - NOTE: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics 
- storageAccount stringUri 
- The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. - NOTE: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics 
- storage_account_ struri 
- The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. - NOTE: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics 
- storageAccount StringUri 
- The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor. - NOTE: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics 
LinuxVirtualMachineGalleryApplication, LinuxVirtualMachineGalleryApplicationArgs          
- VersionId string
- Specifies the Gallery Application Version resource ID.
- AutomaticUpgrade boolEnabled 
- Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
- ConfigurationBlob stringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
- Order int
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0.
- Tag string
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue.
- TreatFailure boolAs Deployment Failure Enabled 
- Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
- VersionId string
- Specifies the Gallery Application Version resource ID.
- AutomaticUpgrade boolEnabled 
- Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
- ConfigurationBlob stringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
- Order int
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0.
- Tag string
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue.
- TreatFailure boolAs Deployment Failure Enabled 
- Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
- versionId String
- Specifies the Gallery Application Version resource ID.
- automaticUpgrade BooleanEnabled 
- Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
- configurationBlob StringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
- order Integer
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0.
- tag String
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue.
- treatFailure BooleanAs Deployment Failure Enabled 
- Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
- versionId string
- Specifies the Gallery Application Version resource ID.
- automaticUpgrade booleanEnabled 
- Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
- configurationBlob stringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
- order number
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0.
- tag string
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue.
- treatFailure booleanAs Deployment Failure Enabled 
- Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
- version_id str
- Specifies the Gallery Application Version resource ID.
- automatic_upgrade_ boolenabled 
- Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
- configuration_blob_ struri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
- order int
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0.
- tag str
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue.
- treat_failure_ boolas_ deployment_ failure_ enabled 
- Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
- versionId String
- Specifies the Gallery Application Version resource ID.
- automaticUpgrade BooleanEnabled 
- Specifies whether the version will be automatically updated for the VM when a new Gallery Application version is available in PIR/SIG. Defaults to false.
- configurationBlob StringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided.
- order Number
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0.
- tag String
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue.
- treatFailure BooleanAs Deployment Failure Enabled 
- Specifies whether any failure for any operation in the VmApplication will fail the deployment of the VM. Defaults to false.
LinuxVirtualMachineIdentity, LinuxVirtualMachineIdentityArgs        
- Type string
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are SystemAssigned,UserAssigned,SystemAssigned, UserAssigned(to enable both).
- IdentityIds List<string>
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine. - NOTE: This is required when - typeis set to- UserAssignedor- SystemAssigned, UserAssigned.
- PrincipalId string
- The Principal ID associated with this Managed Service Identity.
- TenantId string
- The Tenant ID associated with this Managed Service Identity.
- Type string
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are SystemAssigned,UserAssigned,SystemAssigned, UserAssigned(to enable both).
- IdentityIds []string
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine. - NOTE: This is required when - typeis set to- UserAssignedor- SystemAssigned, UserAssigned.
- PrincipalId string
- The Principal ID associated with this Managed Service Identity.
- TenantId string
- The Tenant ID associated with this Managed Service Identity.
- type String
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are SystemAssigned,UserAssigned,SystemAssigned, UserAssigned(to enable both).
- identityIds List<String>
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine. - NOTE: This is required when - typeis set to- UserAssignedor- SystemAssigned, UserAssigned.
- principalId String
- The Principal ID associated with this Managed Service Identity.
- tenantId String
- The Tenant ID associated with this Managed Service Identity.
- type string
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are SystemAssigned,UserAssigned,SystemAssigned, UserAssigned(to enable both).
- identityIds string[]
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine. - NOTE: This is required when - typeis set to- UserAssignedor- SystemAssigned, UserAssigned.
- principalId string
- The Principal ID associated with this Managed Service Identity.
- tenantId string
- The Tenant ID associated with this Managed Service Identity.
- type str
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are SystemAssigned,UserAssigned,SystemAssigned, UserAssigned(to enable both).
- identity_ids Sequence[str]
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine. - NOTE: This is required when - typeis set to- UserAssignedor- SystemAssigned, UserAssigned.
- principal_id str
- The Principal ID associated with this Managed Service Identity.
- tenant_id str
- The Tenant ID associated with this Managed Service Identity.
- type String
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine. Possible values are SystemAssigned,UserAssigned,SystemAssigned, UserAssigned(to enable both).
- identityIds List<String>
- Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine. - NOTE: This is required when - typeis set to- UserAssignedor- SystemAssigned, UserAssigned.
- principalId String
- The Principal ID associated with this Managed Service Identity.
- tenantId String
- The Tenant ID associated with this Managed Service Identity.
LinuxVirtualMachineOsDisk, LinuxVirtualMachineOsDiskArgs          
- Caching string
- The Type of Caching which should be used for the Internal OS Disk. Possible values are None,ReadOnlyandReadWrite.
- StorageAccount stringType 
- The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS,StandardSSD_LRS,Premium_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- DiffDisk LinuxSettings Virtual Machine Os Disk Diff Disk Settings 
- A - diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.- NOTE: - diff_disk_settingscan only be set when- cachingis set to- ReadOnly. More information can be found here
- DiskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with - secure_vm_disk_encryption_set_id.- NOTE: The Disk Encryption Set must have the - ReaderRole Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault
- DiskSize intGb 
- The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from. - NOTE: If specified this must be equal to or larger than the size of the Image the Virtual Machine is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space. 
- Id string
- The ID of the OS disk.
- Name string
- The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
- SecureVm stringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with - disk_encryption_set_id. Changing this forces a new resource to be created.- NOTE: - secure_vm_disk_encryption_set_idcan only be specified when- security_encryption_typeis set to- DiskWithVMGuestState.
- SecurityEncryption stringType 
- Encryption Type when the Virtual Machine is a Confidential VM. Possible values are - VMGuestStateOnlyand- DiskWithVMGuestState. Changing this forces a new resource to be created.- NOTE: - vtpm_enabledmust be set to- truewhen- security_encryption_typeis specified.- NOTE: - encryption_at_host_enabledcannot be set to- truewhen- security_encryption_typeis set to- DiskWithVMGuestState.
- WriteAccelerator boolEnabled 
- Should Write Accelerator be Enabled for this OS Disk? Defaults to - false.- NOTE: This requires that the - storage_account_typeis set to- Premium_LRSand that- cachingis set to- None.
- Caching string
- The Type of Caching which should be used for the Internal OS Disk. Possible values are None,ReadOnlyandReadWrite.
- StorageAccount stringType 
- The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS,StandardSSD_LRS,Premium_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- DiffDisk LinuxSettings Virtual Machine Os Disk Diff Disk Settings 
- A - diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.- NOTE: - diff_disk_settingscan only be set when- cachingis set to- ReadOnly. More information can be found here
- DiskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with - secure_vm_disk_encryption_set_id.- NOTE: The Disk Encryption Set must have the - ReaderRole Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault
- DiskSize intGb 
- The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from. - NOTE: If specified this must be equal to or larger than the size of the Image the Virtual Machine is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space. 
- Id string
- The ID of the OS disk.
- Name string
- The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
- SecureVm stringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with - disk_encryption_set_id. Changing this forces a new resource to be created.- NOTE: - secure_vm_disk_encryption_set_idcan only be specified when- security_encryption_typeis set to- DiskWithVMGuestState.
- SecurityEncryption stringType 
- Encryption Type when the Virtual Machine is a Confidential VM. Possible values are - VMGuestStateOnlyand- DiskWithVMGuestState. Changing this forces a new resource to be created.- NOTE: - vtpm_enabledmust be set to- truewhen- security_encryption_typeis specified.- NOTE: - encryption_at_host_enabledcannot be set to- truewhen- security_encryption_typeis set to- DiskWithVMGuestState.
- WriteAccelerator boolEnabled 
- Should Write Accelerator be Enabled for this OS Disk? Defaults to - false.- NOTE: This requires that the - storage_account_typeis set to- Premium_LRSand that- cachingis set to- None.
- caching String
- The Type of Caching which should be used for the Internal OS Disk. Possible values are None,ReadOnlyandReadWrite.
- storageAccount StringType 
- The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS,StandardSSD_LRS,Premium_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- diffDisk LinuxSettings Virtual Machine Os Disk Diff Disk Settings 
- A - diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.- NOTE: - diff_disk_settingscan only be set when- cachingis set to- ReadOnly. More information can be found here
- diskEncryption StringSet Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with - secure_vm_disk_encryption_set_id.- NOTE: The Disk Encryption Set must have the - ReaderRole Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault
- diskSize IntegerGb 
- The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from. - NOTE: If specified this must be equal to or larger than the size of the Image the Virtual Machine is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space. 
- id String
- The ID of the OS disk.
- name String
- The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
- secureVm StringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with - disk_encryption_set_id. Changing this forces a new resource to be created.- NOTE: - secure_vm_disk_encryption_set_idcan only be specified when- security_encryption_typeis set to- DiskWithVMGuestState.
- securityEncryption StringType 
- Encryption Type when the Virtual Machine is a Confidential VM. Possible values are - VMGuestStateOnlyand- DiskWithVMGuestState. Changing this forces a new resource to be created.- NOTE: - vtpm_enabledmust be set to- truewhen- security_encryption_typeis specified.- NOTE: - encryption_at_host_enabledcannot be set to- truewhen- security_encryption_typeis set to- DiskWithVMGuestState.
- writeAccelerator BooleanEnabled 
- Should Write Accelerator be Enabled for this OS Disk? Defaults to - false.- NOTE: This requires that the - storage_account_typeis set to- Premium_LRSand that- cachingis set to- None.
- caching string
- The Type of Caching which should be used for the Internal OS Disk. Possible values are None,ReadOnlyandReadWrite.
- storageAccount stringType 
- The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS,StandardSSD_LRS,Premium_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- diffDisk LinuxSettings Virtual Machine Os Disk Diff Disk Settings 
- A - diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.- NOTE: - diff_disk_settingscan only be set when- cachingis set to- ReadOnly. More information can be found here
- diskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with - secure_vm_disk_encryption_set_id.- NOTE: The Disk Encryption Set must have the - ReaderRole Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault
- diskSize numberGb 
- The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from. - NOTE: If specified this must be equal to or larger than the size of the Image the Virtual Machine is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space. 
- id string
- The ID of the OS disk.
- name string
- The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
- secureVm stringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with - disk_encryption_set_id. Changing this forces a new resource to be created.- NOTE: - secure_vm_disk_encryption_set_idcan only be specified when- security_encryption_typeis set to- DiskWithVMGuestState.
- securityEncryption stringType 
- Encryption Type when the Virtual Machine is a Confidential VM. Possible values are - VMGuestStateOnlyand- DiskWithVMGuestState. Changing this forces a new resource to be created.- NOTE: - vtpm_enabledmust be set to- truewhen- security_encryption_typeis specified.- NOTE: - encryption_at_host_enabledcannot be set to- truewhen- security_encryption_typeis set to- DiskWithVMGuestState.
- writeAccelerator booleanEnabled 
- Should Write Accelerator be Enabled for this OS Disk? Defaults to - false.- NOTE: This requires that the - storage_account_typeis set to- Premium_LRSand that- cachingis set to- None.
- caching str
- The Type of Caching which should be used for the Internal OS Disk. Possible values are None,ReadOnlyandReadWrite.
- storage_account_ strtype 
- The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS,StandardSSD_LRS,Premium_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- diff_disk_ Linuxsettings Virtual Machine Os Disk Diff Disk Settings 
- A - diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.- NOTE: - diff_disk_settingscan only be set when- cachingis set to- ReadOnly. More information can be found here
- disk_encryption_ strset_ id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with - secure_vm_disk_encryption_set_id.- NOTE: The Disk Encryption Set must have the - ReaderRole Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault
- disk_size_ intgb 
- The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from. - NOTE: If specified this must be equal to or larger than the size of the Image the Virtual Machine is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space. 
- id str
- The ID of the OS disk.
- name str
- The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
- secure_vm_ strdisk_ encryption_ set_ id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with - disk_encryption_set_id. Changing this forces a new resource to be created.- NOTE: - secure_vm_disk_encryption_set_idcan only be specified when- security_encryption_typeis set to- DiskWithVMGuestState.
- security_encryption_ strtype 
- Encryption Type when the Virtual Machine is a Confidential VM. Possible values are - VMGuestStateOnlyand- DiskWithVMGuestState. Changing this forces a new resource to be created.- NOTE: - vtpm_enabledmust be set to- truewhen- security_encryption_typeis specified.- NOTE: - encryption_at_host_enabledcannot be set to- truewhen- security_encryption_typeis set to- DiskWithVMGuestState.
- write_accelerator_ boolenabled 
- Should Write Accelerator be Enabled for this OS Disk? Defaults to - false.- NOTE: This requires that the - storage_account_typeis set to- Premium_LRSand that- cachingis set to- None.
- caching String
- The Type of Caching which should be used for the Internal OS Disk. Possible values are None,ReadOnlyandReadWrite.
- storageAccount StringType 
- The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS,StandardSSD_LRS,Premium_LRS,StandardSSD_ZRSandPremium_ZRS. Changing this forces a new resource to be created.
- diffDisk Property MapSettings 
- A - diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.- NOTE: - diff_disk_settingscan only be set when- cachingis set to- ReadOnly. More information can be found here
- diskEncryption StringSet Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk. Conflicts with - secure_vm_disk_encryption_set_id.- NOTE: The Disk Encryption Set must have the - ReaderRole Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault
- diskSize NumberGb 
- The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from. - NOTE: If specified this must be equal to or larger than the size of the Image the Virtual Machine is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space. 
- id String
- The ID of the OS disk.
- name String
- The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
- secureVm StringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with - disk_encryption_set_id. Changing this forces a new resource to be created.- NOTE: - secure_vm_disk_encryption_set_idcan only be specified when- security_encryption_typeis set to- DiskWithVMGuestState.
- securityEncryption StringType 
- Encryption Type when the Virtual Machine is a Confidential VM. Possible values are - VMGuestStateOnlyand- DiskWithVMGuestState. Changing this forces a new resource to be created.- NOTE: - vtpm_enabledmust be set to- truewhen- security_encryption_typeis specified.- NOTE: - encryption_at_host_enabledcannot be set to- truewhen- security_encryption_typeis set to- DiskWithVMGuestState.
- writeAccelerator BooleanEnabled 
- Should Write Accelerator be Enabled for this OS Disk? Defaults to - false.- NOTE: This requires that the - storage_account_typeis set to- Premium_LRSand that- cachingis set to- None.
LinuxVirtualMachineOsDiskDiffDiskSettings, LinuxVirtualMachineOsDiskDiffDiskSettingsArgs                
- Option string
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
- Placement string
- Specifies where to store the Ephemeral Disk. Possible values are CacheDiskandResourceDisk. Defaults toCacheDisk. Changing this forces a new resource to be created.
- Option string
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
- Placement string
- Specifies where to store the Ephemeral Disk. Possible values are CacheDiskandResourceDisk. Defaults toCacheDisk. Changing this forces a new resource to be created.
- option String
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
- placement String
- Specifies where to store the Ephemeral Disk. Possible values are CacheDiskandResourceDisk. Defaults toCacheDisk. Changing this forces a new resource to be created.
- option string
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
- placement string
- Specifies where to store the Ephemeral Disk. Possible values are CacheDiskandResourceDisk. Defaults toCacheDisk. Changing this forces a new resource to be created.
- option str
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
- placement str
- Specifies where to store the Ephemeral Disk. Possible values are CacheDiskandResourceDisk. Defaults toCacheDisk. Changing this forces a new resource to be created.
- option String
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
- placement String
- Specifies where to store the Ephemeral Disk. Possible values are CacheDiskandResourceDisk. Defaults toCacheDisk. Changing this forces a new resource to be created.
LinuxVirtualMachineOsImageNotification, LinuxVirtualMachineOsImageNotificationArgs            
- Timeout string
- Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults toPT15M.
- Timeout string
- Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults toPT15M.
- timeout String
- Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults toPT15M.
- timeout string
- Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults toPT15M.
- timeout str
- Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults toPT15M.
- timeout String
- Length of time a notification to be sent to the VM on the instance metadata server till the VM gets OS upgraded. The only possible value is PT15M. Defaults toPT15M.
LinuxVirtualMachinePlan, LinuxVirtualMachinePlanArgs        
- Name string
- Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- Product string
- Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- Publisher string
- Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- Name string
- Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- Product string
- Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- Publisher string
- Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- name String
- Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- product String
- Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- publisher String
- Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- name string
- Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- product string
- Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- publisher string
- Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- name str
- Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- product str
- Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- publisher str
- Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- name String
- Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- product String
- Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
- publisher String
- Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
LinuxVirtualMachineSecret, LinuxVirtualMachineSecretArgs        
- Certificates
List<LinuxVirtual Machine Secret Certificate> 
- One or more certificateblocks as defined above.
- KeyVault stringId 
- The ID of the Key Vault from which all Secrets should be sourced.
- Certificates
[]LinuxVirtual Machine Secret Certificate 
- One or more certificateblocks as defined above.
- KeyVault stringId 
- The ID of the Key Vault from which all Secrets should be sourced.
- certificates
List<LinuxVirtual Machine Secret Certificate> 
- One or more certificateblocks as defined above.
- keyVault StringId 
- The ID of the Key Vault from which all Secrets should be sourced.
- certificates
LinuxVirtual Machine Secret Certificate[] 
- One or more certificateblocks as defined above.
- keyVault stringId 
- The ID of the Key Vault from which all Secrets should be sourced.
- certificates
Sequence[LinuxVirtual Machine Secret Certificate] 
- One or more certificateblocks as defined above.
- key_vault_ strid 
- The ID of the Key Vault from which all Secrets should be sourced.
- certificates List<Property Map>
- One or more certificateblocks as defined above.
- keyVault StringId 
- The ID of the Key Vault from which all Secrets should be sourced.
LinuxVirtualMachineSecretCertificate, LinuxVirtualMachineSecretCertificateArgs          
- Url string
- The Secret URL of a Key Vault Certificate. - NOTE: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.
- Url string
- The Secret URL of a Key Vault Certificate. - NOTE: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.
- url String
- The Secret URL of a Key Vault Certificate. - NOTE: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.
- url string
- The Secret URL of a Key Vault Certificate. - NOTE: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.
- url str
- The Secret URL of a Key Vault Certificate. - NOTE: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.
- url String
- The Secret URL of a Key Vault Certificate. - NOTE: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.
LinuxVirtualMachineSourceImageReference, LinuxVirtualMachineSourceImageReferenceArgs            
- Offer string
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- Publisher string
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- Sku string
- Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
- Version string
- Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
- Offer string
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- Publisher string
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- Sku string
- Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
- Version string
- Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
- offer String
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- publisher String
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- sku String
- Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
- version String
- Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
- offer string
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- publisher string
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- sku string
- Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
- version string
- Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
- offer str
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- publisher str
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- sku str
- Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
- version str
- Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
- offer String
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- publisher String
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- sku String
- Specifies the SKU of the image used to create the virtual machines. Changing this forces a new resource to be created.
- version String
- Specifies the version of the image used to create the virtual machines. Changing this forces a new resource to be created.
LinuxVirtualMachineTerminationNotification, LinuxVirtualMachineTerminationNotificationArgs          
- Enabled bool
- Should the termination notification be enabled on this Virtual Machine?
- Timeout string
- Length of time (in minutes, between - 5and- 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to- PT5M.- NOTE: For more information about the termination notification, please refer to this doc. 
- Enabled bool
- Should the termination notification be enabled on this Virtual Machine?
- Timeout string
- Length of time (in minutes, between - 5and- 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to- PT5M.- NOTE: For more information about the termination notification, please refer to this doc. 
- enabled Boolean
- Should the termination notification be enabled on this Virtual Machine?
- timeout String
- Length of time (in minutes, between - 5and- 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to- PT5M.- NOTE: For more information about the termination notification, please refer to this doc. 
- enabled boolean
- Should the termination notification be enabled on this Virtual Machine?
- timeout string
- Length of time (in minutes, between - 5and- 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to- PT5M.- NOTE: For more information about the termination notification, please refer to this doc. 
- enabled bool
- Should the termination notification be enabled on this Virtual Machine?
- timeout str
- Length of time (in minutes, between - 5and- 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to- PT5M.- NOTE: For more information about the termination notification, please refer to this doc. 
- enabled Boolean
- Should the termination notification be enabled on this Virtual Machine?
- timeout String
- Length of time (in minutes, between - 5and- 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to- PT5M.- NOTE: For more information about the termination notification, please refer to this doc. 
Import
Linux Virtual Machines can be imported using the resource id, e.g.
$ pulumi import azure:compute/linuxVirtualMachine:LinuxVirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/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 azurermTerraform Provider.