We recommend using Azure Native.
azure.compute.LinuxVirtualMachineScaleSet
Explore with Pulumi AI
Manages a Linux Virtual Machine Scale Set.
Disclaimers
Note: As of the v2.86.0 (November 19, 2021) release of the provider this resource will only create Virtual Machine Scale Sets with the Uniform Orchestration Mode. For Virtual Machine Scale Sets with Flexible orchestration mode, use
azure.compute.OrchestratedVirtualMachineScaleSet. Flexible orchestration mode is recommended for workloads on Azure. rraform will automatically update & reimage the nodes in the Scale Set (if Required) during an Update - this behaviour can be configured using thefeaturessetting within the Provider block.
Example Usage
This example provisions a basic Linux Virtual Machine Scale Set on an internal network.
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const firstPublicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com";
const example = new azure.core.ResourceGroup("example", {
    name: "example-resources",
    location: "West Europe",
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
    name: "example-network",
    resourceGroupName: example.name,
    location: example.location,
    addressSpaces: ["10.0.0.0/16"],
});
const internal = new azure.network.Subnet("internal", {
    name: "internal",
    resourceGroupName: example.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefixes: ["10.0.2.0/24"],
});
const exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet("example", {
    name: "example-vmss",
    resourceGroupName: example.name,
    location: example.location,
    sku: "Standard_F2",
    instances: 1,
    adminUsername: "adminuser",
    adminSshKeys: [{
        username: "adminuser",
        publicKey: firstPublicKey,
    }],
    sourceImageReference: {
        publisher: "Canonical",
        offer: "0001-com-ubuntu-server-jammy",
        sku: "22_04-lts",
        version: "latest",
    },
    osDisk: {
        storageAccountType: "Standard_LRS",
        caching: "ReadWrite",
    },
    networkInterfaces: [{
        name: "example",
        primary: true,
        ipConfigurations: [{
            name: "internal",
            primary: true,
            subnetId: internal.id,
        }],
    }],
});
import pulumi
import pulumi_azure as azure
first_public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com"
example = azure.core.ResourceGroup("example",
    name="example-resources",
    location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("example",
    name="example-network",
    resource_group_name=example.name,
    location=example.location,
    address_spaces=["10.0.0.0/16"])
internal = azure.network.Subnet("internal",
    name="internal",
    resource_group_name=example.name,
    virtual_network_name=example_virtual_network.name,
    address_prefixes=["10.0.2.0/24"])
example_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet("example",
    name="example-vmss",
    resource_group_name=example.name,
    location=example.location,
    sku="Standard_F2",
    instances=1,
    admin_username="adminuser",
    admin_ssh_keys=[{
        "username": "adminuser",
        "public_key": first_public_key,
    }],
    source_image_reference={
        "publisher": "Canonical",
        "offer": "0001-com-ubuntu-server-jammy",
        "sku": "22_04-lts",
        "version": "latest",
    },
    os_disk={
        "storage_account_type": "Standard_LRS",
        "caching": "ReadWrite",
    },
    network_interfaces=[{
        "name": "example",
        "primary": True,
        "ip_configurations": [{
            "name": "internal",
            "primary": True,
            "subnet_id": internal.id,
        }],
    }])
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/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		firstPublicKey := "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com"
		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"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		internal, err := network.NewSubnet(ctx, "internal", &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
		}
		_, err = compute.NewLinuxVirtualMachineScaleSet(ctx, "example", &compute.LinuxVirtualMachineScaleSetArgs{
			Name:              pulumi.String("example-vmss"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			Sku:               pulumi.String("Standard_F2"),
			Instances:         pulumi.Int(1),
			AdminUsername:     pulumi.String("adminuser"),
			AdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{
				&compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{
					Username:  pulumi.String("adminuser"),
					PublicKey: pulumi.String(firstPublicKey),
				},
			},
			SourceImageReference: &compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("0001-com-ubuntu-server-jammy"),
				Sku:       pulumi.String("22_04-lts"),
				Version:   pulumi.String("latest"),
			},
			OsDisk: &compute.LinuxVirtualMachineScaleSetOsDiskArgs{
				StorageAccountType: pulumi.String("Standard_LRS"),
				Caching:            pulumi.String("ReadWrite"),
			},
			NetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{
				&compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{
					Name:    pulumi.String("example"),
					Primary: pulumi.Bool(true),
					IpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
						&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
							Name:     pulumi.String("internal"),
							Primary:  pulumi.Bool(true),
							SubnetId: internal.ID(),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() => 
{
    var firstPublicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com";
    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",
        ResourceGroupName = example.Name,
        Location = example.Location,
        AddressSpaces = new[]
        {
            "10.0.0.0/16",
        },
    });
    var @internal = new Azure.Network.Subnet("internal", new()
    {
        Name = "internal",
        ResourceGroupName = example.Name,
        VirtualNetworkName = exampleVirtualNetwork.Name,
        AddressPrefixes = new[]
        {
            "10.0.2.0/24",
        },
    });
    var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet("example", new()
    {
        Name = "example-vmss",
        ResourceGroupName = example.Name,
        Location = example.Location,
        Sku = "Standard_F2",
        Instances = 1,
        AdminUsername = "adminuser",
        AdminSshKeys = new[]
        {
            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs
            {
                Username = "adminuser",
                PublicKey = firstPublicKey,
            },
        },
        SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs
        {
            Publisher = "Canonical",
            Offer = "0001-com-ubuntu-server-jammy",
            Sku = "22_04-lts",
            Version = "latest",
        },
        OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs
        {
            StorageAccountType = "Standard_LRS",
            Caching = "ReadWrite",
        },
        NetworkInterfaces = new[]
        {
            new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs
            {
                Name = "example",
                Primary = true,
                IpConfigurations = new[]
                {
                    new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
                    {
                        Name = "internal",
                        Primary = true,
                        SubnetId = @internal.Id,
                    },
                },
            },
        },
    });
});
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.compute.LinuxVirtualMachineScaleSet;
import com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;
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) {
        final var firstPublicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com";
        var example = new ResourceGroup("example", ResourceGroupArgs.builder()
            .name("example-resources")
            .location("West Europe")
            .build());
        var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
            .name("example-network")
            .resourceGroupName(example.name())
            .location(example.location())
            .addressSpaces("10.0.0.0/16")
            .build());
        var internal = new Subnet("internal", SubnetArgs.builder()
            .name("internal")
            .resourceGroupName(example.name())
            .virtualNetworkName(exampleVirtualNetwork.name())
            .addressPrefixes("10.0.2.0/24")
            .build());
        var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", LinuxVirtualMachineScaleSetArgs.builder()
            .name("example-vmss")
            .resourceGroupName(example.name())
            .location(example.location())
            .sku("Standard_F2")
            .instances(1)
            .adminUsername("adminuser")
            .adminSshKeys(LinuxVirtualMachineScaleSetAdminSshKeyArgs.builder()
                .username("adminuser")
                .publicKey(firstPublicKey)
                .build())
            .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()
                .publisher("Canonical")
                .offer("0001-com-ubuntu-server-jammy")
                .sku("22_04-lts")
                .version("latest")
                .build())
            .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()
                .storageAccountType("Standard_LRS")
                .caching("ReadWrite")
                .build())
            .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()
                .name("example")
                .primary(true)
                .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
                    .name("internal")
                    .primary(true)
                    .subnetId(internal.id())
                    .build())
                .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
      resourceGroupName: ${example.name}
      location: ${example.location}
      addressSpaces:
        - 10.0.0.0/16
  internal:
    type: azure:network:Subnet
    properties:
      name: internal
      resourceGroupName: ${example.name}
      virtualNetworkName: ${exampleVirtualNetwork.name}
      addressPrefixes:
        - 10.0.2.0/24
  exampleLinuxVirtualMachineScaleSet:
    type: azure:compute:LinuxVirtualMachineScaleSet
    name: example
    properties:
      name: example-vmss
      resourceGroupName: ${example.name}
      location: ${example.location}
      sku: Standard_F2
      instances: 1
      adminUsername: adminuser
      adminSshKeys:
        - username: adminuser
          publicKey: ${firstPublicKey}
      sourceImageReference:
        publisher: Canonical
        offer: 0001-com-ubuntu-server-jammy
        sku: 22_04-lts
        version: latest
      osDisk:
        storageAccountType: Standard_LRS
        caching: ReadWrite
      networkInterfaces:
        - name: example
          primary: true
          ipConfigurations:
            - name: internal
              primary: true
              subnetId: ${internal.id}
variables:
  firstPublicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com
Create LinuxVirtualMachineScaleSet Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new LinuxVirtualMachineScaleSet(name: string, args: LinuxVirtualMachineScaleSetArgs, opts?: CustomResourceOptions);@overload
def LinuxVirtualMachineScaleSet(resource_name: str,
                                args: LinuxVirtualMachineScaleSetArgs,
                                opts: Optional[ResourceOptions] = None)
@overload
def LinuxVirtualMachineScaleSet(resource_name: str,
                                opts: Optional[ResourceOptions] = None,
                                network_interfaces: Optional[Sequence[LinuxVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
                                sku: Optional[str] = None,
                                resource_group_name: Optional[str] = None,
                                admin_username: Optional[str] = None,
                                os_disk: Optional[LinuxVirtualMachineScaleSetOsDiskArgs] = None,
                                max_bid_price: Optional[float] = None,
                                termination_notification: Optional[LinuxVirtualMachineScaleSetTerminationNotificationArgs] = None,
                                capacity_reservation_group_id: Optional[str] = None,
                                computer_name_prefix: Optional[str] = None,
                                custom_data: Optional[str] = None,
                                data_disks: Optional[Sequence[LinuxVirtualMachineScaleSetDataDiskArgs]] = None,
                                disable_password_authentication: Optional[bool] = None,
                                do_not_run_extensions_on_overprovisioned_machines: Optional[bool] = None,
                                edge_zone: Optional[str] = None,
                                encryption_at_host_enabled: Optional[bool] = None,
                                eviction_policy: Optional[str] = None,
                                extension_operations_enabled: Optional[bool] = None,
                                extensions: Optional[Sequence[LinuxVirtualMachineScaleSetExtensionArgs]] = None,
                                extensions_time_budget: Optional[str] = None,
                                gallery_applications: Optional[Sequence[LinuxVirtualMachineScaleSetGalleryApplicationArgs]] = None,
                                health_probe_id: Optional[str] = None,
                                host_group_id: Optional[str] = None,
                                identity: Optional[LinuxVirtualMachineScaleSetIdentityArgs] = None,
                                instances: Optional[int] = None,
                                location: Optional[str] = None,
                                additional_capabilities: Optional[LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
                                name: Optional[str] = None,
                                zone_balance: Optional[bool] = None,
                                boot_diagnostics: Optional[LinuxVirtualMachineScaleSetBootDiagnosticsArgs] = None,
                                priority: Optional[str] = None,
                                plan: Optional[LinuxVirtualMachineScaleSetPlanArgs] = None,
                                platform_fault_domain_count: Optional[int] = None,
                                overprovision: Optional[bool] = None,
                                provision_vm_agent: Optional[bool] = None,
                                proximity_placement_group_id: Optional[str] = None,
                                admin_ssh_keys: Optional[Sequence[LinuxVirtualMachineScaleSetAdminSshKeyArgs]] = None,
                                rolling_upgrade_policy: Optional[LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs] = None,
                                scale_in: Optional[LinuxVirtualMachineScaleSetScaleInArgs] = None,
                                secrets: Optional[Sequence[LinuxVirtualMachineScaleSetSecretArgs]] = None,
                                secure_boot_enabled: Optional[bool] = None,
                                single_placement_group: Optional[bool] = None,
                                admin_password: Optional[str] = None,
                                source_image_id: Optional[str] = None,
                                source_image_reference: Optional[LinuxVirtualMachineScaleSetSourceImageReferenceArgs] = None,
                                spot_restore: Optional[LinuxVirtualMachineScaleSetSpotRestoreArgs] = None,
                                tags: Optional[Mapping[str, str]] = None,
                                automatic_instance_repair: Optional[LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
                                upgrade_mode: Optional[str] = None,
                                user_data: Optional[str] = None,
                                vtpm_enabled: Optional[bool] = None,
                                automatic_os_upgrade_policy: Optional[LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs] = None,
                                zones: Optional[Sequence[str]] = None)func NewLinuxVirtualMachineScaleSet(ctx *Context, name string, args LinuxVirtualMachineScaleSetArgs, opts ...ResourceOption) (*LinuxVirtualMachineScaleSet, error)public LinuxVirtualMachineScaleSet(string name, LinuxVirtualMachineScaleSetArgs args, CustomResourceOptions? opts = null)
public LinuxVirtualMachineScaleSet(String name, LinuxVirtualMachineScaleSetArgs args)
public LinuxVirtualMachineScaleSet(String name, LinuxVirtualMachineScaleSetArgs args, CustomResourceOptions options)
type: azure:compute:LinuxVirtualMachineScaleSet
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 LinuxVirtualMachineScaleSetArgs
- 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 LinuxVirtualMachineScaleSetArgs
- 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 LinuxVirtualMachineScaleSetArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args LinuxVirtualMachineScaleSetArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args LinuxVirtualMachineScaleSetArgs
- 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 linuxVirtualMachineScaleSetResource = new Azure.Compute.LinuxVirtualMachineScaleSet("linuxVirtualMachineScaleSetResource", new()
{
    NetworkInterfaces = new[]
    {
        new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs
        {
            IpConfigurations = new[]
            {
                new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
                {
                    Name = "string",
                    ApplicationGatewayBackendAddressPoolIds = new[]
                    {
                        "string",
                    },
                    ApplicationSecurityGroupIds = new[]
                    {
                        "string",
                    },
                    LoadBalancerBackendAddressPoolIds = new[]
                    {
                        "string",
                    },
                    LoadBalancerInboundNatRulesIds = new[]
                    {
                        "string",
                    },
                    Primary = false,
                    PublicIpAddresses = new[]
                    {
                        new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs
                        {
                            Name = "string",
                            DomainNameLabel = "string",
                            IdleTimeoutInMinutes = 0,
                            IpTags = new[]
                            {
                                new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs
                                {
                                    Tag = "string",
                                    Type = "string",
                                },
                            },
                            PublicIpPrefixId = "string",
                            Version = "string",
                        },
                    },
                    SubnetId = "string",
                    Version = "string",
                },
            },
            Name = "string",
            DnsServers = new[]
            {
                "string",
            },
            EnableAcceleratedNetworking = false,
            EnableIpForwarding = false,
            NetworkSecurityGroupId = "string",
            Primary = false,
        },
    },
    Sku = "string",
    ResourceGroupName = "string",
    AdminUsername = "string",
    OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs
    {
        Caching = "string",
        StorageAccountType = "string",
        DiffDiskSettings = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs
        {
            Option = "string",
            Placement = "string",
        },
        DiskEncryptionSetId = "string",
        DiskSizeGb = 0,
        SecureVmDiskEncryptionSetId = "string",
        SecurityEncryptionType = "string",
        WriteAcceleratorEnabled = false,
    },
    MaxBidPrice = 0,
    TerminationNotification = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetTerminationNotificationArgs
    {
        Enabled = false,
        Timeout = "string",
    },
    CapacityReservationGroupId = "string",
    ComputerNamePrefix = "string",
    CustomData = "string",
    DataDisks = new[]
    {
        new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetDataDiskArgs
        {
            Caching = "string",
            DiskSizeGb = 0,
            Lun = 0,
            StorageAccountType = "string",
            CreateOption = "string",
            DiskEncryptionSetId = "string",
            Name = "string",
            UltraSsdDiskIopsReadWrite = 0,
            UltraSsdDiskMbpsReadWrite = 0,
            WriteAcceleratorEnabled = false,
        },
    },
    DisablePasswordAuthentication = false,
    DoNotRunExtensionsOnOverprovisionedMachines = false,
    EdgeZone = "string",
    EncryptionAtHostEnabled = false,
    EvictionPolicy = "string",
    ExtensionOperationsEnabled = false,
    Extensions = new[]
    {
        new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetExtensionArgs
        {
            Name = "string",
            Publisher = "string",
            Type = "string",
            TypeHandlerVersion = "string",
            AutoUpgradeMinorVersion = false,
            AutomaticUpgradeEnabled = false,
            ForceUpdateTag = "string",
            ProtectedSettings = "string",
            ProtectedSettingsFromKeyVault = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs
            {
                SecretUrl = "string",
                SourceVaultId = "string",
            },
            ProvisionAfterExtensions = new[]
            {
                "string",
            },
            Settings = "string",
        },
    },
    ExtensionsTimeBudget = "string",
    GalleryApplications = new[]
    {
        new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetGalleryApplicationArgs
        {
            VersionId = "string",
            ConfigurationBlobUri = "string",
            Order = 0,
            Tag = "string",
        },
    },
    HealthProbeId = "string",
    HostGroupId = "string",
    Identity = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetIdentityArgs
    {
        Type = "string",
        IdentityIds = new[]
        {
            "string",
        },
        PrincipalId = "string",
        TenantId = "string",
    },
    Instances = 0,
    Location = "string",
    AdditionalCapabilities = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs
    {
        UltraSsdEnabled = false,
    },
    Name = "string",
    ZoneBalance = false,
    BootDiagnostics = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetBootDiagnosticsArgs
    {
        StorageAccountUri = "string",
    },
    Priority = "string",
    Plan = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetPlanArgs
    {
        Name = "string",
        Product = "string",
        Publisher = "string",
    },
    PlatformFaultDomainCount = 0,
    Overprovision = false,
    ProvisionVmAgent = false,
    ProximityPlacementGroupId = "string",
    AdminSshKeys = new[]
    {
        new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs
        {
            PublicKey = "string",
            Username = "string",
        },
    },
    RollingUpgradePolicy = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs
    {
        MaxBatchInstancePercent = 0,
        MaxUnhealthyInstancePercent = 0,
        MaxUnhealthyUpgradedInstancePercent = 0,
        PauseTimeBetweenBatches = "string",
        CrossZoneUpgradesEnabled = false,
        MaximumSurgeInstancesEnabled = false,
        PrioritizeUnhealthyInstancesEnabled = false,
    },
    ScaleIn = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetScaleInArgs
    {
        ForceDeletionEnabled = false,
        Rule = "string",
    },
    Secrets = new[]
    {
        new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSecretArgs
        {
            Certificates = new[]
            {
                new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSecretCertificateArgs
                {
                    Url = "string",
                },
            },
            KeyVaultId = "string",
        },
    },
    SecureBootEnabled = false,
    SinglePlacementGroup = false,
    AdminPassword = "string",
    SourceImageId = "string",
    SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs
    {
        Offer = "string",
        Publisher = "string",
        Sku = "string",
        Version = "string",
    },
    SpotRestore = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSpotRestoreArgs
    {
        Enabled = false,
        Timeout = "string",
    },
    Tags = 
    {
        { "string", "string" },
    },
    AutomaticInstanceRepair = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs
    {
        Enabled = false,
        Action = "string",
        GracePeriod = "string",
    },
    UpgradeMode = "string",
    UserData = "string",
    VtpmEnabled = false,
    AutomaticOsUpgradePolicy = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    {
        DisableAutomaticRollback = false,
        EnableAutomaticOsUpgrade = false,
    },
    Zones = new[]
    {
        "string",
    },
});
example, err := compute.NewLinuxVirtualMachineScaleSet(ctx, "linuxVirtualMachineScaleSetResource", &compute.LinuxVirtualMachineScaleSetArgs{
	NetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{
		&compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{
			IpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
				&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
					Name: pulumi.String("string"),
					ApplicationGatewayBackendAddressPoolIds: pulumi.StringArray{
						pulumi.String("string"),
					},
					ApplicationSecurityGroupIds: pulumi.StringArray{
						pulumi.String("string"),
					},
					LoadBalancerBackendAddressPoolIds: pulumi.StringArray{
						pulumi.String("string"),
					},
					LoadBalancerInboundNatRulesIds: pulumi.StringArray{
						pulumi.String("string"),
					},
					Primary: pulumi.Bool(false),
					PublicIpAddresses: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArray{
						&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs{
							Name:                 pulumi.String("string"),
							DomainNameLabel:      pulumi.String("string"),
							IdleTimeoutInMinutes: pulumi.Int(0),
							IpTags: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArray{
								&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs{
									Tag:  pulumi.String("string"),
									Type: pulumi.String("string"),
								},
							},
							PublicIpPrefixId: pulumi.String("string"),
							Version:          pulumi.String("string"),
						},
					},
					SubnetId: pulumi.String("string"),
					Version:  pulumi.String("string"),
				},
			},
			Name: pulumi.String("string"),
			DnsServers: pulumi.StringArray{
				pulumi.String("string"),
			},
			EnableAcceleratedNetworking: pulumi.Bool(false),
			EnableIpForwarding:          pulumi.Bool(false),
			NetworkSecurityGroupId:      pulumi.String("string"),
			Primary:                     pulumi.Bool(false),
		},
	},
	Sku:               pulumi.String("string"),
	ResourceGroupName: pulumi.String("string"),
	AdminUsername:     pulumi.String("string"),
	OsDisk: &compute.LinuxVirtualMachineScaleSetOsDiskArgs{
		Caching:            pulumi.String("string"),
		StorageAccountType: pulumi.String("string"),
		DiffDiskSettings: &compute.LinuxVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs{
			Option:    pulumi.String("string"),
			Placement: pulumi.String("string"),
		},
		DiskEncryptionSetId:         pulumi.String("string"),
		DiskSizeGb:                  pulumi.Int(0),
		SecureVmDiskEncryptionSetId: pulumi.String("string"),
		SecurityEncryptionType:      pulumi.String("string"),
		WriteAcceleratorEnabled:     pulumi.Bool(false),
	},
	MaxBidPrice: pulumi.Float64(0),
	TerminationNotification: &compute.LinuxVirtualMachineScaleSetTerminationNotificationArgs{
		Enabled: pulumi.Bool(false),
		Timeout: pulumi.String("string"),
	},
	CapacityReservationGroupId: pulumi.String("string"),
	ComputerNamePrefix:         pulumi.String("string"),
	CustomData:                 pulumi.String("string"),
	DataDisks: compute.LinuxVirtualMachineScaleSetDataDiskArray{
		&compute.LinuxVirtualMachineScaleSetDataDiskArgs{
			Caching:                   pulumi.String("string"),
			DiskSizeGb:                pulumi.Int(0),
			Lun:                       pulumi.Int(0),
			StorageAccountType:        pulumi.String("string"),
			CreateOption:              pulumi.String("string"),
			DiskEncryptionSetId:       pulumi.String("string"),
			Name:                      pulumi.String("string"),
			UltraSsdDiskIopsReadWrite: pulumi.Int(0),
			UltraSsdDiskMbpsReadWrite: pulumi.Int(0),
			WriteAcceleratorEnabled:   pulumi.Bool(false),
		},
	},
	DisablePasswordAuthentication:               pulumi.Bool(false),
	DoNotRunExtensionsOnOverprovisionedMachines: pulumi.Bool(false),
	EdgeZone:                   pulumi.String("string"),
	EncryptionAtHostEnabled:    pulumi.Bool(false),
	EvictionPolicy:             pulumi.String("string"),
	ExtensionOperationsEnabled: pulumi.Bool(false),
	Extensions: compute.LinuxVirtualMachineScaleSetExtensionArray{
		&compute.LinuxVirtualMachineScaleSetExtensionArgs{
			Name:                    pulumi.String("string"),
			Publisher:               pulumi.String("string"),
			Type:                    pulumi.String("string"),
			TypeHandlerVersion:      pulumi.String("string"),
			AutoUpgradeMinorVersion: pulumi.Bool(false),
			AutomaticUpgradeEnabled: pulumi.Bool(false),
			ForceUpdateTag:          pulumi.String("string"),
			ProtectedSettings:       pulumi.String("string"),
			ProtectedSettingsFromKeyVault: &compute.LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs{
				SecretUrl:     pulumi.String("string"),
				SourceVaultId: pulumi.String("string"),
			},
			ProvisionAfterExtensions: pulumi.StringArray{
				pulumi.String("string"),
			},
			Settings: pulumi.String("string"),
		},
	},
	ExtensionsTimeBudget: pulumi.String("string"),
	GalleryApplications: compute.LinuxVirtualMachineScaleSetGalleryApplicationArray{
		&compute.LinuxVirtualMachineScaleSetGalleryApplicationArgs{
			VersionId:            pulumi.String("string"),
			ConfigurationBlobUri: pulumi.String("string"),
			Order:                pulumi.Int(0),
			Tag:                  pulumi.String("string"),
		},
	},
	HealthProbeId: pulumi.String("string"),
	HostGroupId:   pulumi.String("string"),
	Identity: &compute.LinuxVirtualMachineScaleSetIdentityArgs{
		Type: pulumi.String("string"),
		IdentityIds: pulumi.StringArray{
			pulumi.String("string"),
		},
		PrincipalId: pulumi.String("string"),
		TenantId:    pulumi.String("string"),
	},
	Instances: pulumi.Int(0),
	Location:  pulumi.String("string"),
	AdditionalCapabilities: &compute.LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs{
		UltraSsdEnabled: pulumi.Bool(false),
	},
	Name:        pulumi.String("string"),
	ZoneBalance: pulumi.Bool(false),
	BootDiagnostics: &compute.LinuxVirtualMachineScaleSetBootDiagnosticsArgs{
		StorageAccountUri: pulumi.String("string"),
	},
	Priority: pulumi.String("string"),
	Plan: &compute.LinuxVirtualMachineScaleSetPlanArgs{
		Name:      pulumi.String("string"),
		Product:   pulumi.String("string"),
		Publisher: pulumi.String("string"),
	},
	PlatformFaultDomainCount:  pulumi.Int(0),
	Overprovision:             pulumi.Bool(false),
	ProvisionVmAgent:          pulumi.Bool(false),
	ProximityPlacementGroupId: pulumi.String("string"),
	AdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{
		&compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{
			PublicKey: pulumi.String("string"),
			Username:  pulumi.String("string"),
		},
	},
	RollingUpgradePolicy: &compute.LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs{
		MaxBatchInstancePercent:             pulumi.Int(0),
		MaxUnhealthyInstancePercent:         pulumi.Int(0),
		MaxUnhealthyUpgradedInstancePercent: pulumi.Int(0),
		PauseTimeBetweenBatches:             pulumi.String("string"),
		CrossZoneUpgradesEnabled:            pulumi.Bool(false),
		MaximumSurgeInstancesEnabled:        pulumi.Bool(false),
		PrioritizeUnhealthyInstancesEnabled: pulumi.Bool(false),
	},
	ScaleIn: &compute.LinuxVirtualMachineScaleSetScaleInArgs{
		ForceDeletionEnabled: pulumi.Bool(false),
		Rule:                 pulumi.String("string"),
	},
	Secrets: compute.LinuxVirtualMachineScaleSetSecretArray{
		&compute.LinuxVirtualMachineScaleSetSecretArgs{
			Certificates: compute.LinuxVirtualMachineScaleSetSecretCertificateArray{
				&compute.LinuxVirtualMachineScaleSetSecretCertificateArgs{
					Url: pulumi.String("string"),
				},
			},
			KeyVaultId: pulumi.String("string"),
		},
	},
	SecureBootEnabled:    pulumi.Bool(false),
	SinglePlacementGroup: pulumi.Bool(false),
	AdminPassword:        pulumi.String("string"),
	SourceImageId:        pulumi.String("string"),
	SourceImageReference: &compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{
		Offer:     pulumi.String("string"),
		Publisher: pulumi.String("string"),
		Sku:       pulumi.String("string"),
		Version:   pulumi.String("string"),
	},
	SpotRestore: &compute.LinuxVirtualMachineScaleSetSpotRestoreArgs{
		Enabled: pulumi.Bool(false),
		Timeout: pulumi.String("string"),
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	AutomaticInstanceRepair: &compute.LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs{
		Enabled:     pulumi.Bool(false),
		Action:      pulumi.String("string"),
		GracePeriod: pulumi.String("string"),
	},
	UpgradeMode: pulumi.String("string"),
	UserData:    pulumi.String("string"),
	VtpmEnabled: pulumi.Bool(false),
	AutomaticOsUpgradePolicy: &compute.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs{
		DisableAutomaticRollback: pulumi.Bool(false),
		EnableAutomaticOsUpgrade: pulumi.Bool(false),
	},
	Zones: pulumi.StringArray{
		pulumi.String("string"),
	},
})
var linuxVirtualMachineScaleSetResource = new LinuxVirtualMachineScaleSet("linuxVirtualMachineScaleSetResource", LinuxVirtualMachineScaleSetArgs.builder()
    .networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()
        .ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
            .name("string")
            .applicationGatewayBackendAddressPoolIds("string")
            .applicationSecurityGroupIds("string")
            .loadBalancerBackendAddressPoolIds("string")
            .loadBalancerInboundNatRulesIds("string")
            .primary(false)
            .publicIpAddresses(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs.builder()
                .name("string")
                .domainNameLabel("string")
                .idleTimeoutInMinutes(0)
                .ipTags(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs.builder()
                    .tag("string")
                    .type("string")
                    .build())
                .publicIpPrefixId("string")
                .version("string")
                .build())
            .subnetId("string")
            .version("string")
            .build())
        .name("string")
        .dnsServers("string")
        .enableAcceleratedNetworking(false)
        .enableIpForwarding(false)
        .networkSecurityGroupId("string")
        .primary(false)
        .build())
    .sku("string")
    .resourceGroupName("string")
    .adminUsername("string")
    .osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()
        .caching("string")
        .storageAccountType("string")
        .diffDiskSettings(LinuxVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs.builder()
            .option("string")
            .placement("string")
            .build())
        .diskEncryptionSetId("string")
        .diskSizeGb(0)
        .secureVmDiskEncryptionSetId("string")
        .securityEncryptionType("string")
        .writeAcceleratorEnabled(false)
        .build())
    .maxBidPrice(0)
    .terminationNotification(LinuxVirtualMachineScaleSetTerminationNotificationArgs.builder()
        .enabled(false)
        .timeout("string")
        .build())
    .capacityReservationGroupId("string")
    .computerNamePrefix("string")
    .customData("string")
    .dataDisks(LinuxVirtualMachineScaleSetDataDiskArgs.builder()
        .caching("string")
        .diskSizeGb(0)
        .lun(0)
        .storageAccountType("string")
        .createOption("string")
        .diskEncryptionSetId("string")
        .name("string")
        .ultraSsdDiskIopsReadWrite(0)
        .ultraSsdDiskMbpsReadWrite(0)
        .writeAcceleratorEnabled(false)
        .build())
    .disablePasswordAuthentication(false)
    .doNotRunExtensionsOnOverprovisionedMachines(false)
    .edgeZone("string")
    .encryptionAtHostEnabled(false)
    .evictionPolicy("string")
    .extensionOperationsEnabled(false)
    .extensions(LinuxVirtualMachineScaleSetExtensionArgs.builder()
        .name("string")
        .publisher("string")
        .type("string")
        .typeHandlerVersion("string")
        .autoUpgradeMinorVersion(false)
        .automaticUpgradeEnabled(false)
        .forceUpdateTag("string")
        .protectedSettings("string")
        .protectedSettingsFromKeyVault(LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs.builder()
            .secretUrl("string")
            .sourceVaultId("string")
            .build())
        .provisionAfterExtensions("string")
        .settings("string")
        .build())
    .extensionsTimeBudget("string")
    .galleryApplications(LinuxVirtualMachineScaleSetGalleryApplicationArgs.builder()
        .versionId("string")
        .configurationBlobUri("string")
        .order(0)
        .tag("string")
        .build())
    .healthProbeId("string")
    .hostGroupId("string")
    .identity(LinuxVirtualMachineScaleSetIdentityArgs.builder()
        .type("string")
        .identityIds("string")
        .principalId("string")
        .tenantId("string")
        .build())
    .instances(0)
    .location("string")
    .additionalCapabilities(LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs.builder()
        .ultraSsdEnabled(false)
        .build())
    .name("string")
    .zoneBalance(false)
    .bootDiagnostics(LinuxVirtualMachineScaleSetBootDiagnosticsArgs.builder()
        .storageAccountUri("string")
        .build())
    .priority("string")
    .plan(LinuxVirtualMachineScaleSetPlanArgs.builder()
        .name("string")
        .product("string")
        .publisher("string")
        .build())
    .platformFaultDomainCount(0)
    .overprovision(false)
    .provisionVmAgent(false)
    .proximityPlacementGroupId("string")
    .adminSshKeys(LinuxVirtualMachineScaleSetAdminSshKeyArgs.builder()
        .publicKey("string")
        .username("string")
        .build())
    .rollingUpgradePolicy(LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.builder()
        .maxBatchInstancePercent(0)
        .maxUnhealthyInstancePercent(0)
        .maxUnhealthyUpgradedInstancePercent(0)
        .pauseTimeBetweenBatches("string")
        .crossZoneUpgradesEnabled(false)
        .maximumSurgeInstancesEnabled(false)
        .prioritizeUnhealthyInstancesEnabled(false)
        .build())
    .scaleIn(LinuxVirtualMachineScaleSetScaleInArgs.builder()
        .forceDeletionEnabled(false)
        .rule("string")
        .build())
    .secrets(LinuxVirtualMachineScaleSetSecretArgs.builder()
        .certificates(LinuxVirtualMachineScaleSetSecretCertificateArgs.builder()
            .url("string")
            .build())
        .keyVaultId("string")
        .build())
    .secureBootEnabled(false)
    .singlePlacementGroup(false)
    .adminPassword("string")
    .sourceImageId("string")
    .sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()
        .offer("string")
        .publisher("string")
        .sku("string")
        .version("string")
        .build())
    .spotRestore(LinuxVirtualMachineScaleSetSpotRestoreArgs.builder()
        .enabled(false)
        .timeout("string")
        .build())
    .tags(Map.of("string", "string"))
    .automaticInstanceRepair(LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs.builder()
        .enabled(false)
        .action("string")
        .gracePeriod("string")
        .build())
    .upgradeMode("string")
    .userData("string")
    .vtpmEnabled(false)
    .automaticOsUpgradePolicy(LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs.builder()
        .disableAutomaticRollback(false)
        .enableAutomaticOsUpgrade(false)
        .build())
    .zones("string")
    .build());
linux_virtual_machine_scale_set_resource = azure.compute.LinuxVirtualMachineScaleSet("linuxVirtualMachineScaleSetResource",
    network_interfaces=[{
        "ip_configurations": [{
            "name": "string",
            "application_gateway_backend_address_pool_ids": ["string"],
            "application_security_group_ids": ["string"],
            "load_balancer_backend_address_pool_ids": ["string"],
            "load_balancer_inbound_nat_rules_ids": ["string"],
            "primary": False,
            "public_ip_addresses": [{
                "name": "string",
                "domain_name_label": "string",
                "idle_timeout_in_minutes": 0,
                "ip_tags": [{
                    "tag": "string",
                    "type": "string",
                }],
                "public_ip_prefix_id": "string",
                "version": "string",
            }],
            "subnet_id": "string",
            "version": "string",
        }],
        "name": "string",
        "dns_servers": ["string"],
        "enable_accelerated_networking": False,
        "enable_ip_forwarding": False,
        "network_security_group_id": "string",
        "primary": False,
    }],
    sku="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,
        "secure_vm_disk_encryption_set_id": "string",
        "security_encryption_type": "string",
        "write_accelerator_enabled": False,
    },
    max_bid_price=0,
    termination_notification={
        "enabled": False,
        "timeout": "string",
    },
    capacity_reservation_group_id="string",
    computer_name_prefix="string",
    custom_data="string",
    data_disks=[{
        "caching": "string",
        "disk_size_gb": 0,
        "lun": 0,
        "storage_account_type": "string",
        "create_option": "string",
        "disk_encryption_set_id": "string",
        "name": "string",
        "ultra_ssd_disk_iops_read_write": 0,
        "ultra_ssd_disk_mbps_read_write": 0,
        "write_accelerator_enabled": False,
    }],
    disable_password_authentication=False,
    do_not_run_extensions_on_overprovisioned_machines=False,
    edge_zone="string",
    encryption_at_host_enabled=False,
    eviction_policy="string",
    extension_operations_enabled=False,
    extensions=[{
        "name": "string",
        "publisher": "string",
        "type": "string",
        "type_handler_version": "string",
        "auto_upgrade_minor_version": False,
        "automatic_upgrade_enabled": False,
        "force_update_tag": "string",
        "protected_settings": "string",
        "protected_settings_from_key_vault": {
            "secret_url": "string",
            "source_vault_id": "string",
        },
        "provision_after_extensions": ["string"],
        "settings": "string",
    }],
    extensions_time_budget="string",
    gallery_applications=[{
        "version_id": "string",
        "configuration_blob_uri": "string",
        "order": 0,
        "tag": "string",
    }],
    health_probe_id="string",
    host_group_id="string",
    identity={
        "type": "string",
        "identity_ids": ["string"],
        "principal_id": "string",
        "tenant_id": "string",
    },
    instances=0,
    location="string",
    additional_capabilities={
        "ultra_ssd_enabled": False,
    },
    name="string",
    zone_balance=False,
    boot_diagnostics={
        "storage_account_uri": "string",
    },
    priority="string",
    plan={
        "name": "string",
        "product": "string",
        "publisher": "string",
    },
    platform_fault_domain_count=0,
    overprovision=False,
    provision_vm_agent=False,
    proximity_placement_group_id="string",
    admin_ssh_keys=[{
        "public_key": "string",
        "username": "string",
    }],
    rolling_upgrade_policy={
        "max_batch_instance_percent": 0,
        "max_unhealthy_instance_percent": 0,
        "max_unhealthy_upgraded_instance_percent": 0,
        "pause_time_between_batches": "string",
        "cross_zone_upgrades_enabled": False,
        "maximum_surge_instances_enabled": False,
        "prioritize_unhealthy_instances_enabled": False,
    },
    scale_in={
        "force_deletion_enabled": False,
        "rule": "string",
    },
    secrets=[{
        "certificates": [{
            "url": "string",
        }],
        "key_vault_id": "string",
    }],
    secure_boot_enabled=False,
    single_placement_group=False,
    admin_password="string",
    source_image_id="string",
    source_image_reference={
        "offer": "string",
        "publisher": "string",
        "sku": "string",
        "version": "string",
    },
    spot_restore={
        "enabled": False,
        "timeout": "string",
    },
    tags={
        "string": "string",
    },
    automatic_instance_repair={
        "enabled": False,
        "action": "string",
        "grace_period": "string",
    },
    upgrade_mode="string",
    user_data="string",
    vtpm_enabled=False,
    automatic_os_upgrade_policy={
        "disable_automatic_rollback": False,
        "enable_automatic_os_upgrade": False,
    },
    zones=["string"])
const linuxVirtualMachineScaleSetResource = new azure.compute.LinuxVirtualMachineScaleSet("linuxVirtualMachineScaleSetResource", {
    networkInterfaces: [{
        ipConfigurations: [{
            name: "string",
            applicationGatewayBackendAddressPoolIds: ["string"],
            applicationSecurityGroupIds: ["string"],
            loadBalancerBackendAddressPoolIds: ["string"],
            loadBalancerInboundNatRulesIds: ["string"],
            primary: false,
            publicIpAddresses: [{
                name: "string",
                domainNameLabel: "string",
                idleTimeoutInMinutes: 0,
                ipTags: [{
                    tag: "string",
                    type: "string",
                }],
                publicIpPrefixId: "string",
                version: "string",
            }],
            subnetId: "string",
            version: "string",
        }],
        name: "string",
        dnsServers: ["string"],
        enableAcceleratedNetworking: false,
        enableIpForwarding: false,
        networkSecurityGroupId: "string",
        primary: false,
    }],
    sku: "string",
    resourceGroupName: "string",
    adminUsername: "string",
    osDisk: {
        caching: "string",
        storageAccountType: "string",
        diffDiskSettings: {
            option: "string",
            placement: "string",
        },
        diskEncryptionSetId: "string",
        diskSizeGb: 0,
        secureVmDiskEncryptionSetId: "string",
        securityEncryptionType: "string",
        writeAcceleratorEnabled: false,
    },
    maxBidPrice: 0,
    terminationNotification: {
        enabled: false,
        timeout: "string",
    },
    capacityReservationGroupId: "string",
    computerNamePrefix: "string",
    customData: "string",
    dataDisks: [{
        caching: "string",
        diskSizeGb: 0,
        lun: 0,
        storageAccountType: "string",
        createOption: "string",
        diskEncryptionSetId: "string",
        name: "string",
        ultraSsdDiskIopsReadWrite: 0,
        ultraSsdDiskMbpsReadWrite: 0,
        writeAcceleratorEnabled: false,
    }],
    disablePasswordAuthentication: false,
    doNotRunExtensionsOnOverprovisionedMachines: false,
    edgeZone: "string",
    encryptionAtHostEnabled: false,
    evictionPolicy: "string",
    extensionOperationsEnabled: false,
    extensions: [{
        name: "string",
        publisher: "string",
        type: "string",
        typeHandlerVersion: "string",
        autoUpgradeMinorVersion: false,
        automaticUpgradeEnabled: false,
        forceUpdateTag: "string",
        protectedSettings: "string",
        protectedSettingsFromKeyVault: {
            secretUrl: "string",
            sourceVaultId: "string",
        },
        provisionAfterExtensions: ["string"],
        settings: "string",
    }],
    extensionsTimeBudget: "string",
    galleryApplications: [{
        versionId: "string",
        configurationBlobUri: "string",
        order: 0,
        tag: "string",
    }],
    healthProbeId: "string",
    hostGroupId: "string",
    identity: {
        type: "string",
        identityIds: ["string"],
        principalId: "string",
        tenantId: "string",
    },
    instances: 0,
    location: "string",
    additionalCapabilities: {
        ultraSsdEnabled: false,
    },
    name: "string",
    zoneBalance: false,
    bootDiagnostics: {
        storageAccountUri: "string",
    },
    priority: "string",
    plan: {
        name: "string",
        product: "string",
        publisher: "string",
    },
    platformFaultDomainCount: 0,
    overprovision: false,
    provisionVmAgent: false,
    proximityPlacementGroupId: "string",
    adminSshKeys: [{
        publicKey: "string",
        username: "string",
    }],
    rollingUpgradePolicy: {
        maxBatchInstancePercent: 0,
        maxUnhealthyInstancePercent: 0,
        maxUnhealthyUpgradedInstancePercent: 0,
        pauseTimeBetweenBatches: "string",
        crossZoneUpgradesEnabled: false,
        maximumSurgeInstancesEnabled: false,
        prioritizeUnhealthyInstancesEnabled: false,
    },
    scaleIn: {
        forceDeletionEnabled: false,
        rule: "string",
    },
    secrets: [{
        certificates: [{
            url: "string",
        }],
        keyVaultId: "string",
    }],
    secureBootEnabled: false,
    singlePlacementGroup: false,
    adminPassword: "string",
    sourceImageId: "string",
    sourceImageReference: {
        offer: "string",
        publisher: "string",
        sku: "string",
        version: "string",
    },
    spotRestore: {
        enabled: false,
        timeout: "string",
    },
    tags: {
        string: "string",
    },
    automaticInstanceRepair: {
        enabled: false,
        action: "string",
        gracePeriod: "string",
    },
    upgradeMode: "string",
    userData: "string",
    vtpmEnabled: false,
    automaticOsUpgradePolicy: {
        disableAutomaticRollback: false,
        enableAutomaticOsUpgrade: false,
    },
    zones: ["string"],
});
type: azure:compute:LinuxVirtualMachineScaleSet
properties:
    additionalCapabilities:
        ultraSsdEnabled: false
    adminPassword: string
    adminSshKeys:
        - publicKey: string
          username: string
    adminUsername: string
    automaticInstanceRepair:
        action: string
        enabled: false
        gracePeriod: string
    automaticOsUpgradePolicy:
        disableAutomaticRollback: false
        enableAutomaticOsUpgrade: false
    bootDiagnostics:
        storageAccountUri: string
    capacityReservationGroupId: string
    computerNamePrefix: string
    customData: string
    dataDisks:
        - caching: string
          createOption: string
          diskEncryptionSetId: string
          diskSizeGb: 0
          lun: 0
          name: string
          storageAccountType: string
          ultraSsdDiskIopsReadWrite: 0
          ultraSsdDiskMbpsReadWrite: 0
          writeAcceleratorEnabled: false
    disablePasswordAuthentication: false
    doNotRunExtensionsOnOverprovisionedMachines: false
    edgeZone: string
    encryptionAtHostEnabled: false
    evictionPolicy: string
    extensionOperationsEnabled: false
    extensions:
        - autoUpgradeMinorVersion: false
          automaticUpgradeEnabled: false
          forceUpdateTag: string
          name: string
          protectedSettings: string
          protectedSettingsFromKeyVault:
            secretUrl: string
            sourceVaultId: string
          provisionAfterExtensions:
            - string
          publisher: string
          settings: string
          type: string
          typeHandlerVersion: string
    extensionsTimeBudget: string
    galleryApplications:
        - configurationBlobUri: string
          order: 0
          tag: string
          versionId: string
    healthProbeId: string
    hostGroupId: string
    identity:
        identityIds:
            - string
        principalId: string
        tenantId: string
        type: string
    instances: 0
    location: string
    maxBidPrice: 0
    name: string
    networkInterfaces:
        - dnsServers:
            - string
          enableAcceleratedNetworking: false
          enableIpForwarding: false
          ipConfigurations:
            - applicationGatewayBackendAddressPoolIds:
                - string
              applicationSecurityGroupIds:
                - string
              loadBalancerBackendAddressPoolIds:
                - string
              loadBalancerInboundNatRulesIds:
                - string
              name: string
              primary: false
              publicIpAddresses:
                - domainNameLabel: string
                  idleTimeoutInMinutes: 0
                  ipTags:
                    - tag: string
                      type: string
                  name: string
                  publicIpPrefixId: string
                  version: string
              subnetId: string
              version: string
          name: string
          networkSecurityGroupId: string
          primary: false
    osDisk:
        caching: string
        diffDiskSettings:
            option: string
            placement: string
        diskEncryptionSetId: string
        diskSizeGb: 0
        secureVmDiskEncryptionSetId: string
        securityEncryptionType: string
        storageAccountType: string
        writeAcceleratorEnabled: false
    overprovision: false
    plan:
        name: string
        product: string
        publisher: string
    platformFaultDomainCount: 0
    priority: string
    provisionVmAgent: false
    proximityPlacementGroupId: string
    resourceGroupName: string
    rollingUpgradePolicy:
        crossZoneUpgradesEnabled: false
        maxBatchInstancePercent: 0
        maxUnhealthyInstancePercent: 0
        maxUnhealthyUpgradedInstancePercent: 0
        maximumSurgeInstancesEnabled: false
        pauseTimeBetweenBatches: string
        prioritizeUnhealthyInstancesEnabled: false
    scaleIn:
        forceDeletionEnabled: false
        rule: string
    secrets:
        - certificates:
            - url: string
          keyVaultId: string
    secureBootEnabled: false
    singlePlacementGroup: false
    sku: string
    sourceImageId: string
    sourceImageReference:
        offer: string
        publisher: string
        sku: string
        version: string
    spotRestore:
        enabled: false
        timeout: string
    tags:
        string: string
    terminationNotification:
        enabled: false
        timeout: string
    upgradeMode: string
    userData: string
    vtpmEnabled: false
    zoneBalance: false
    zones:
        - string
LinuxVirtualMachineScaleSet 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 LinuxVirtualMachineScaleSet resource accepts the following input properties:
- AdminUsername string
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- NetworkInterfaces List<LinuxVirtual Machine Scale Set Network Interface> 
- One or more network_interfaceblocks as defined below.
- OsDisk LinuxVirtual Machine Scale Set Os Disk 
- An os_diskblock as defined below.
- ResourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- Sku string
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- AdditionalCapabilities LinuxVirtual Machine Scale Set Additional Capabilities 
- An 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 Scale Set Admin Ssh Key> 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- AutomaticInstance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- AutomaticOs LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- BootDiagnostics LinuxVirtual Machine Scale Set Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- ComputerName stringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- CustomData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- DataDisks List<LinuxVirtual Machine Scale Set Data Disk> 
- One or more data_diskblocks as defined below.
- DisablePassword boolAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- DoNot boolRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- EdgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- ExtensionOperations boolEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- Extensions
List<LinuxVirtual Machine Scale Set Extension> 
- One or more extensionblocks as defined below
- ExtensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- GalleryApplications List<LinuxVirtual Machine Scale Set Gallery Application> 
- One or more gallery_applicationblocks as defined below.
- HealthProbe stringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- HostGroup stringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- Identity
LinuxVirtual Machine Scale Set Identity 
- An identityblock as defined below.
- Instances int
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- Location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- MaxBid doublePrice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- Overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- Plan
LinuxVirtual Machine Scale Set Plan 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- PlatformFault intDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Priority string
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- ProvisionVm boolAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- RollingUpgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- ScaleIn LinuxVirtual Machine Scale Set Scale In 
- A scale_inblock as defined below.
- Secrets
List<LinuxVirtual Machine Scale Set 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.
- SinglePlacement boolGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- SourceImage stringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- SourceImage LinuxReference Virtual Machine Scale Set Source Image Reference 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- SpotRestore LinuxVirtual Machine Scale Set Spot Restore 
- A spot_restoreblock as defined below.
- Dictionary<string, string>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- TerminationNotification LinuxVirtual Machine Scale Set Termination Notification 
- A termination_notificationblock as defined below.
- UpgradeMode string
- UserData string
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- VtpmEnabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- ZoneBalance bool
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- Zones List<string>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- AdminUsername string
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- NetworkInterfaces []LinuxVirtual Machine Scale Set Network Interface Args 
- One or more network_interfaceblocks as defined below.
- OsDisk LinuxVirtual Machine Scale Set Os Disk Args 
- An os_diskblock as defined below.
- ResourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- Sku string
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- AdditionalCapabilities LinuxVirtual Machine Scale Set Additional Capabilities Args 
- An 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 Scale Set Admin Ssh Key Args 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- AutomaticInstance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair Args 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- AutomaticOs LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy Args 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- BootDiagnostics LinuxVirtual Machine Scale Set Boot Diagnostics Args 
- A boot_diagnosticsblock as defined below.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- ComputerName stringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- CustomData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- DataDisks []LinuxVirtual Machine Scale Set Data Disk Args 
- One or more data_diskblocks as defined below.
- DisablePassword boolAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- DoNot boolRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- EdgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- ExtensionOperations boolEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- Extensions
[]LinuxVirtual Machine Scale Set Extension Args 
- One or more extensionblocks as defined below
- ExtensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- GalleryApplications []LinuxVirtual Machine Scale Set Gallery Application Args 
- One or more gallery_applicationblocks as defined below.
- HealthProbe stringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- HostGroup stringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- Identity
LinuxVirtual Machine Scale Set Identity Args 
- An identityblock as defined below.
- Instances int
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- Location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- MaxBid float64Price 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- Overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- Plan
LinuxVirtual Machine Scale Set Plan Args 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- PlatformFault intDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Priority string
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- ProvisionVm boolAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- RollingUpgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy Args 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- ScaleIn LinuxVirtual Machine Scale Set Scale In Args 
- A scale_inblock as defined below.
- Secrets
[]LinuxVirtual Machine Scale Set 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.
- SinglePlacement boolGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- SourceImage stringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- SourceImage LinuxReference Virtual Machine Scale Set Source Image Reference Args 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- SpotRestore LinuxVirtual Machine Scale Set Spot Restore Args 
- A spot_restoreblock as defined below.
- map[string]string
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- TerminationNotification LinuxVirtual Machine Scale Set Termination Notification Args 
- A termination_notificationblock as defined below.
- UpgradeMode string
- UserData string
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- VtpmEnabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- ZoneBalance bool
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- Zones []string
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- adminUsername String
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- networkInterfaces List<LinuxVirtual Machine Scale Set Network Interface> 
- One or more network_interfaceblocks as defined below.
- osDisk LinuxVirtual Machine Scale Set Os Disk 
- An os_diskblock as defined below.
- resourceGroup StringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- sku String
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- additionalCapabilities LinuxVirtual Machine Scale Set Additional Capabilities 
- An 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 Scale Set Admin Ssh Key> 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- automaticInstance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- automaticOs LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- bootDiagnostics LinuxVirtual Machine Scale Set Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- computerName StringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- customData String
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- dataDisks List<LinuxVirtual Machine Scale Set Data Disk> 
- One or more data_diskblocks as defined below.
- disablePassword BooleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- doNot BooleanRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- edgeZone String
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- extensionOperations BooleanEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- extensions
List<LinuxVirtual Machine Scale Set Extension> 
- One or more extensionblocks as defined below
- extensionsTime StringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- galleryApplications List<LinuxVirtual Machine Scale Set Gallery Application> 
- One or more gallery_applicationblocks as defined below.
- healthProbe StringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- hostGroup StringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
LinuxVirtual Machine Scale Set Identity 
- An identityblock as defined below.
- instances Integer
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- location String
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- maxBid DoublePrice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- overprovision Boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- plan
LinuxVirtual Machine Scale Set Plan 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- platformFault IntegerDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority String
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- provisionVm BooleanAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- rollingUpgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- scaleIn LinuxVirtual Machine Scale Set Scale In 
- A scale_inblock as defined below.
- secrets
List<LinuxVirtual Machine Scale Set 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.
- singlePlacement BooleanGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- sourceImage StringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage LinuxReference Virtual Machine Scale Set Source Image Reference 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- spotRestore LinuxVirtual Machine Scale Set Spot Restore 
- A spot_restoreblock as defined below.
- Map<String,String>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- terminationNotification LinuxVirtual Machine Scale Set Termination Notification 
- A termination_notificationblock as defined below.
- upgradeMode String
- userData String
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpmEnabled Boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zoneBalance Boolean
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- zones List<String>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- adminUsername string
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- networkInterfaces LinuxVirtual Machine Scale Set Network Interface[] 
- One or more network_interfaceblocks as defined below.
- osDisk LinuxVirtual Machine Scale Set Os Disk 
- An os_diskblock as defined below.
- resourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- sku string
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- additionalCapabilities LinuxVirtual Machine Scale Set Additional Capabilities 
- An 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 Scale Set Admin Ssh Key[] 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- automaticInstance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- automaticOs LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- bootDiagnostics LinuxVirtual Machine Scale Set Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- capacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- computerName stringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- customData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- dataDisks LinuxVirtual Machine Scale Set Data Disk[] 
- One or more data_diskblocks as defined below.
- disablePassword booleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- doNot booleanRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- edgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- extensionOperations booleanEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- extensions
LinuxVirtual Machine Scale Set Extension[] 
- One or more extensionblocks as defined below
- extensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- galleryApplications LinuxVirtual Machine Scale Set Gallery Application[] 
- One or more gallery_applicationblocks as defined below.
- healthProbe stringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- hostGroup stringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
LinuxVirtual Machine Scale Set Identity 
- An identityblock as defined below.
- instances number
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- maxBid numberPrice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- overprovision boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- plan
LinuxVirtual Machine Scale Set Plan 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- platformFault numberDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority string
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- provisionVm booleanAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- proximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- rollingUpgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- scaleIn LinuxVirtual Machine Scale Set Scale In 
- A scale_inblock as defined below.
- secrets
LinuxVirtual Machine Scale Set 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.
- singlePlacement booleanGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- sourceImage stringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage LinuxReference Virtual Machine Scale Set Source Image Reference 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- spotRestore LinuxVirtual Machine Scale Set Spot Restore 
- A spot_restoreblock as defined below.
- {[key: string]: string}
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- terminationNotification LinuxVirtual Machine Scale Set Termination Notification 
- A termination_notificationblock as defined below.
- upgradeMode string
- userData string
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpmEnabled boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zoneBalance boolean
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- zones string[]
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- admin_username str
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- network_interfaces Sequence[LinuxVirtual Machine Scale Set Network Interface Args] 
- One or more network_interfaceblocks as defined below.
- os_disk LinuxVirtual Machine Scale Set Os Disk Args 
- An os_diskblock as defined below.
- resource_group_ strname 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- sku str
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- additional_capabilities LinuxVirtual Machine Scale Set Additional Capabilities Args 
- An 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 Scale Set Admin Ssh Key Args] 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- automatic_instance_ Linuxrepair Virtual Machine Scale Set Automatic Instance Repair Args 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- automatic_os_ Linuxupgrade_ policy Virtual Machine Scale Set Automatic Os Upgrade Policy Args 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- boot_diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics Args 
- A boot_diagnosticsblock as defined below.
- capacity_reservation_ strgroup_ id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- computer_name_ strprefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. 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 Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- data_disks Sequence[LinuxVirtual Machine Scale Set Data Disk Args] 
- One or more data_diskblocks as defined below.
- disable_password_ boolauthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- do_not_ boolrun_ extensions_ on_ overprovisioned_ machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- edge_zone str
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- extension_operations_ boolenabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- extensions
Sequence[LinuxVirtual Machine Scale Set Extension Args] 
- One or more extensionblocks as defined below
- extensions_time_ strbudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- gallery_applications Sequence[LinuxVirtual Machine Scale Set Gallery Application Args] 
- One or more gallery_applicationblocks as defined below.
- health_probe_ strid 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- host_group_ strid 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
LinuxVirtual Machine Scale Set Identity Args 
- An identityblock as defined below.
- instances int
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- location str
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max_bid_ floatprice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- plan
LinuxVirtual Machine Scale Set Plan Args 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- platform_fault_ intdomain_ count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority str
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- provision_vm_ boolagent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- proximity_placement_ strgroup_ id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- rolling_upgrade_ Linuxpolicy Virtual Machine Scale Set Rolling Upgrade Policy Args 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- scale_in LinuxVirtual Machine Scale Set Scale In Args 
- A scale_inblock as defined below.
- secrets
Sequence[LinuxVirtual Machine Scale Set 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.
- single_placement_ boolgroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- source_image_ strid 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- source_image_ Linuxreference Virtual Machine Scale Set Source Image Reference Args 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- spot_restore LinuxVirtual Machine Scale Set Spot Restore Args 
- A spot_restoreblock as defined below.
- Mapping[str, str]
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination_notification LinuxVirtual Machine Scale Set Termination Notification Args 
- A termination_notificationblock as defined below.
- upgrade_mode str
- user_data str
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm_enabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone_balance bool
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- zones Sequence[str]
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- adminUsername String
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- networkInterfaces List<Property Map>
- One or more network_interfaceblocks as defined below.
- osDisk Property Map
- An os_diskblock as defined below.
- resourceGroup StringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- sku String
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- additionalCapabilities Property Map
- An 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.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- automaticInstance Property MapRepair 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- automaticOs Property MapUpgrade Policy 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- bootDiagnostics Property Map
- A boot_diagnosticsblock as defined below.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- computerName StringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- customData String
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- dataDisks List<Property Map>
- One or more data_diskblocks as defined below.
- disablePassword BooleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- doNot BooleanRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- edgeZone String
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- extensionOperations BooleanEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- extensions List<Property Map>
- One or more extensionblocks as defined below
- extensionsTime StringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- galleryApplications List<Property Map>
- One or more gallery_applicationblocks as defined below.
- healthProbe StringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- hostGroup StringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity Property Map
- An identityblock as defined below.
- instances Number
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- location String
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- maxBid NumberPrice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- overprovision Boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- plan Property Map
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- platformFault NumberDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority String
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- provisionVm BooleanAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- rollingUpgrade Property MapPolicy 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- scaleIn Property Map
- A scale_inblock as defined below.
- 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.
- singlePlacement BooleanGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- sourceImage StringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage Property MapReference 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- spotRestore Property Map
- A spot_restoreblock as defined below.
- Map<String>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- terminationNotification Property Map
- A termination_notificationblock as defined below.
- upgradeMode String
- userData String
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpmEnabled Boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zoneBalance Boolean
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- zones List<String>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the LinuxVirtualMachineScaleSet resource produces the following output properties:
Look up Existing LinuxVirtualMachineScaleSet Resource
Get an existing LinuxVirtualMachineScaleSet 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?: LinuxVirtualMachineScaleSetState, opts?: CustomResourceOptions): LinuxVirtualMachineScaleSet@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        additional_capabilities: Optional[LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
        admin_password: Optional[str] = None,
        admin_ssh_keys: Optional[Sequence[LinuxVirtualMachineScaleSetAdminSshKeyArgs]] = None,
        admin_username: Optional[str] = None,
        automatic_instance_repair: Optional[LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
        automatic_os_upgrade_policy: Optional[LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs] = None,
        boot_diagnostics: Optional[LinuxVirtualMachineScaleSetBootDiagnosticsArgs] = None,
        capacity_reservation_group_id: Optional[str] = None,
        computer_name_prefix: Optional[str] = None,
        custom_data: Optional[str] = None,
        data_disks: Optional[Sequence[LinuxVirtualMachineScaleSetDataDiskArgs]] = None,
        disable_password_authentication: Optional[bool] = None,
        do_not_run_extensions_on_overprovisioned_machines: Optional[bool] = None,
        edge_zone: Optional[str] = None,
        encryption_at_host_enabled: Optional[bool] = None,
        eviction_policy: Optional[str] = None,
        extension_operations_enabled: Optional[bool] = None,
        extensions: Optional[Sequence[LinuxVirtualMachineScaleSetExtensionArgs]] = None,
        extensions_time_budget: Optional[str] = None,
        gallery_applications: Optional[Sequence[LinuxVirtualMachineScaleSetGalleryApplicationArgs]] = None,
        health_probe_id: Optional[str] = None,
        host_group_id: Optional[str] = None,
        identity: Optional[LinuxVirtualMachineScaleSetIdentityArgs] = None,
        instances: Optional[int] = None,
        location: Optional[str] = None,
        max_bid_price: Optional[float] = None,
        name: Optional[str] = None,
        network_interfaces: Optional[Sequence[LinuxVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
        os_disk: Optional[LinuxVirtualMachineScaleSetOsDiskArgs] = None,
        overprovision: Optional[bool] = None,
        plan: Optional[LinuxVirtualMachineScaleSetPlanArgs] = None,
        platform_fault_domain_count: Optional[int] = None,
        priority: Optional[str] = None,
        provision_vm_agent: Optional[bool] = None,
        proximity_placement_group_id: Optional[str] = None,
        resource_group_name: Optional[str] = None,
        rolling_upgrade_policy: Optional[LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs] = None,
        scale_in: Optional[LinuxVirtualMachineScaleSetScaleInArgs] = None,
        secrets: Optional[Sequence[LinuxVirtualMachineScaleSetSecretArgs]] = None,
        secure_boot_enabled: Optional[bool] = None,
        single_placement_group: Optional[bool] = None,
        sku: Optional[str] = None,
        source_image_id: Optional[str] = None,
        source_image_reference: Optional[LinuxVirtualMachineScaleSetSourceImageReferenceArgs] = None,
        spot_restore: Optional[LinuxVirtualMachineScaleSetSpotRestoreArgs] = None,
        tags: Optional[Mapping[str, str]] = None,
        termination_notification: Optional[LinuxVirtualMachineScaleSetTerminationNotificationArgs] = None,
        unique_id: Optional[str] = None,
        upgrade_mode: Optional[str] = None,
        user_data: Optional[str] = None,
        vtpm_enabled: Optional[bool] = None,
        zone_balance: Optional[bool] = None,
        zones: Optional[Sequence[str]] = None) -> LinuxVirtualMachineScaleSetfunc GetLinuxVirtualMachineScaleSet(ctx *Context, name string, id IDInput, state *LinuxVirtualMachineScaleSetState, opts ...ResourceOption) (*LinuxVirtualMachineScaleSet, error)public static LinuxVirtualMachineScaleSet Get(string name, Input<string> id, LinuxVirtualMachineScaleSetState? state, CustomResourceOptions? opts = null)public static LinuxVirtualMachineScaleSet get(String name, Output<String> id, LinuxVirtualMachineScaleSetState state, CustomResourceOptions options)resources:  _:    type: azure:compute:LinuxVirtualMachineScaleSet    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 Scale Set Additional Capabilities 
- An 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 Scale Set Admin Ssh Key> 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- AdminUsername string
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- AutomaticInstance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- AutomaticOs LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- BootDiagnostics LinuxVirtual Machine Scale Set Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- ComputerName stringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- CustomData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- DataDisks List<LinuxVirtual Machine Scale Set Data Disk> 
- One or more data_diskblocks as defined below.
- DisablePassword boolAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- DoNot boolRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- EdgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- ExtensionOperations boolEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- Extensions
List<LinuxVirtual Machine Scale Set Extension> 
- One or more extensionblocks as defined below
- ExtensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- GalleryApplications List<LinuxVirtual Machine Scale Set Gallery Application> 
- One or more gallery_applicationblocks as defined below.
- HealthProbe stringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- HostGroup stringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- Identity
LinuxVirtual Machine Scale Set Identity 
- An identityblock as defined below.
- Instances int
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- Location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- MaxBid doublePrice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- NetworkInterfaces List<LinuxVirtual Machine Scale Set Network Interface> 
- One or more network_interfaceblocks as defined below.
- OsDisk LinuxVirtual Machine Scale Set Os Disk 
- An os_diskblock as defined below.
- Overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- Plan
LinuxVirtual Machine Scale Set Plan 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- PlatformFault intDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Priority string
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- ProvisionVm boolAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- ResourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- RollingUpgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- ScaleIn LinuxVirtual Machine Scale Set Scale In 
- A scale_inblock as defined below.
- Secrets
List<LinuxVirtual Machine Scale Set 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.
- SinglePlacement boolGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- Sku string
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- SourceImage stringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- SourceImage LinuxReference Virtual Machine Scale Set Source Image Reference 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- SpotRestore LinuxVirtual Machine Scale Set Spot Restore 
- A spot_restoreblock as defined below.
- Dictionary<string, string>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- TerminationNotification LinuxVirtual Machine Scale Set Termination Notification 
- A termination_notificationblock as defined below.
- UniqueId string
- The Unique ID for this Linux Virtual Machine Scale Set.
- UpgradeMode string
- UserData string
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- VtpmEnabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- ZoneBalance bool
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- Zones List<string>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- AdditionalCapabilities LinuxVirtual Machine Scale Set Additional Capabilities Args 
- An 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 Scale Set Admin Ssh Key Args 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- AdminUsername string
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- AutomaticInstance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair Args 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- AutomaticOs LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy Args 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- BootDiagnostics LinuxVirtual Machine Scale Set Boot Diagnostics Args 
- A boot_diagnosticsblock as defined below.
- CapacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- ComputerName stringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- CustomData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- DataDisks []LinuxVirtual Machine Scale Set Data Disk Args 
- One or more data_diskblocks as defined below.
- DisablePassword boolAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- DoNot boolRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- EdgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- ExtensionOperations boolEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- Extensions
[]LinuxVirtual Machine Scale Set Extension Args 
- One or more extensionblocks as defined below
- ExtensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- GalleryApplications []LinuxVirtual Machine Scale Set Gallery Application Args 
- One or more gallery_applicationblocks as defined below.
- HealthProbe stringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- HostGroup stringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- Identity
LinuxVirtual Machine Scale Set Identity Args 
- An identityblock as defined below.
- Instances int
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- Location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- MaxBid float64Price 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- NetworkInterfaces []LinuxVirtual Machine Scale Set Network Interface Args 
- One or more network_interfaceblocks as defined below.
- OsDisk LinuxVirtual Machine Scale Set Os Disk Args 
- An os_diskblock as defined below.
- Overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- Plan
LinuxVirtual Machine Scale Set Plan Args 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- PlatformFault intDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Priority string
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- ProvisionVm boolAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- ProximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- ResourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- RollingUpgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy Args 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- ScaleIn LinuxVirtual Machine Scale Set Scale In Args 
- A scale_inblock as defined below.
- Secrets
[]LinuxVirtual Machine Scale Set 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.
- SinglePlacement boolGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- Sku string
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- SourceImage stringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- SourceImage LinuxReference Virtual Machine Scale Set Source Image Reference Args 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- SpotRestore LinuxVirtual Machine Scale Set Spot Restore Args 
- A spot_restoreblock as defined below.
- map[string]string
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- TerminationNotification LinuxVirtual Machine Scale Set Termination Notification Args 
- A termination_notificationblock as defined below.
- UniqueId string
- The Unique ID for this Linux Virtual Machine Scale Set.
- UpgradeMode string
- UserData string
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- VtpmEnabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- ZoneBalance bool
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- Zones []string
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- additionalCapabilities LinuxVirtual Machine Scale Set Additional Capabilities 
- An 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 Scale Set Admin Ssh Key> 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- adminUsername String
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- automaticInstance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- automaticOs LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- bootDiagnostics LinuxVirtual Machine Scale Set Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- computerName StringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- customData String
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- dataDisks List<LinuxVirtual Machine Scale Set Data Disk> 
- One or more data_diskblocks as defined below.
- disablePassword BooleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- doNot BooleanRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- edgeZone String
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- extensionOperations BooleanEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- extensions
List<LinuxVirtual Machine Scale Set Extension> 
- One or more extensionblocks as defined below
- extensionsTime StringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- galleryApplications List<LinuxVirtual Machine Scale Set Gallery Application> 
- One or more gallery_applicationblocks as defined below.
- healthProbe StringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- hostGroup StringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
LinuxVirtual Machine Scale Set Identity 
- An identityblock as defined below.
- instances Integer
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- location String
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- maxBid DoublePrice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- networkInterfaces List<LinuxVirtual Machine Scale Set Network Interface> 
- One or more network_interfaceblocks as defined below.
- osDisk LinuxVirtual Machine Scale Set Os Disk 
- An os_diskblock as defined below.
- overprovision Boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- plan
LinuxVirtual Machine Scale Set Plan 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- platformFault IntegerDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority String
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- provisionVm BooleanAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- resourceGroup StringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- rollingUpgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- scaleIn LinuxVirtual Machine Scale Set Scale In 
- A scale_inblock as defined below.
- secrets
List<LinuxVirtual Machine Scale Set 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.
- singlePlacement BooleanGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- sku String
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- sourceImage StringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage LinuxReference Virtual Machine Scale Set Source Image Reference 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- spotRestore LinuxVirtual Machine Scale Set Spot Restore 
- A spot_restoreblock as defined below.
- Map<String,String>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- terminationNotification LinuxVirtual Machine Scale Set Termination Notification 
- A termination_notificationblock as defined below.
- uniqueId String
- The Unique ID for this Linux Virtual Machine Scale Set.
- upgradeMode String
- userData String
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpmEnabled Boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zoneBalance Boolean
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- zones List<String>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- additionalCapabilities LinuxVirtual Machine Scale Set Additional Capabilities 
- An 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 Scale Set Admin Ssh Key[] 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- adminUsername string
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- automaticInstance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- automaticOs LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- bootDiagnostics LinuxVirtual Machine Scale Set Boot Diagnostics 
- A boot_diagnosticsblock as defined below.
- capacityReservation stringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- computerName stringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- customData string
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- dataDisks LinuxVirtual Machine Scale Set Data Disk[] 
- One or more data_diskblocks as defined below.
- disablePassword booleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- doNot booleanRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- edgeZone string
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- extensionOperations booleanEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- extensions
LinuxVirtual Machine Scale Set Extension[] 
- One or more extensionblocks as defined below
- extensionsTime stringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- galleryApplications LinuxVirtual Machine Scale Set Gallery Application[] 
- One or more gallery_applicationblocks as defined below.
- healthProbe stringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- hostGroup stringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
LinuxVirtual Machine Scale Set Identity 
- An identityblock as defined below.
- instances number
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- maxBid numberPrice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- networkInterfaces LinuxVirtual Machine Scale Set Network Interface[] 
- One or more network_interfaceblocks as defined below.
- osDisk LinuxVirtual Machine Scale Set Os Disk 
- An os_diskblock as defined below.
- overprovision boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- plan
LinuxVirtual Machine Scale Set Plan 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- platformFault numberDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority string
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- provisionVm booleanAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- proximityPlacement stringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- resourceGroup stringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- rollingUpgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- scaleIn LinuxVirtual Machine Scale Set Scale In 
- A scale_inblock as defined below.
- secrets
LinuxVirtual Machine Scale Set 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.
- singlePlacement booleanGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- sku string
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- sourceImage stringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage LinuxReference Virtual Machine Scale Set Source Image Reference 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- spotRestore LinuxVirtual Machine Scale Set Spot Restore 
- A spot_restoreblock as defined below.
- {[key: string]: string}
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- terminationNotification LinuxVirtual Machine Scale Set Termination Notification 
- A termination_notificationblock as defined below.
- uniqueId string
- The Unique ID for this Linux Virtual Machine Scale Set.
- upgradeMode string
- userData string
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpmEnabled boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zoneBalance boolean
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- zones string[]
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- additional_capabilities LinuxVirtual Machine Scale Set Additional Capabilities Args 
- An 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 Scale Set Admin Ssh Key Args] 
- One or more - admin_ssh_keyblocks as defined below.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- admin_username str
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- automatic_instance_ Linuxrepair Virtual Machine Scale Set Automatic Instance Repair Args 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- automatic_os_ Linuxupgrade_ policy Virtual Machine Scale Set Automatic Os Upgrade Policy Args 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- boot_diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics Args 
- A boot_diagnosticsblock as defined below.
- capacity_reservation_ strgroup_ id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- computer_name_ strprefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. 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 Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- data_disks Sequence[LinuxVirtual Machine Scale Set Data Disk Args] 
- One or more data_diskblocks as defined below.
- disable_password_ boolauthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- do_not_ boolrun_ extensions_ on_ overprovisioned_ machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- edge_zone str
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- extension_operations_ boolenabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- extensions
Sequence[LinuxVirtual Machine Scale Set Extension Args] 
- One or more extensionblocks as defined below
- extensions_time_ strbudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- gallery_applications Sequence[LinuxVirtual Machine Scale Set Gallery Application Args] 
- One or more gallery_applicationblocks as defined below.
- health_probe_ strid 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- host_group_ strid 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
LinuxVirtual Machine Scale Set Identity Args 
- An identityblock as defined below.
- instances int
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- location str
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max_bid_ floatprice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- network_interfaces Sequence[LinuxVirtual Machine Scale Set Network Interface Args] 
- One or more network_interfaceblocks as defined below.
- os_disk LinuxVirtual Machine Scale Set Os Disk Args 
- An os_diskblock as defined below.
- overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- plan
LinuxVirtual Machine Scale Set Plan Args 
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- platform_fault_ intdomain_ count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority str
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- provision_vm_ boolagent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- proximity_placement_ strgroup_ id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- resource_group_ strname 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- rolling_upgrade_ Linuxpolicy Virtual Machine Scale Set Rolling Upgrade Policy Args 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- scale_in LinuxVirtual Machine Scale Set Scale In Args 
- A scale_inblock as defined below.
- secrets
Sequence[LinuxVirtual Machine Scale Set 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.
- single_placement_ boolgroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- sku str
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- source_image_ strid 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- source_image_ Linuxreference Virtual Machine Scale Set Source Image Reference Args 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- spot_restore LinuxVirtual Machine Scale Set Spot Restore Args 
- A spot_restoreblock as defined below.
- Mapping[str, str]
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination_notification LinuxVirtual Machine Scale Set Termination Notification Args 
- A termination_notificationblock as defined below.
- unique_id str
- The Unique ID for this Linux Virtual Machine Scale Set.
- upgrade_mode str
- user_data str
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm_enabled bool
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone_balance bool
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- zones Sequence[str]
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
- additionalCapabilities Property Map
- An 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.- Note: One of either - admin_passwordor- admin_ssh_keymust be specified.
- adminUsername String
- The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- automaticInstance Property MapRepair 
- An - automatic_instance_repairblock as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid- health_probe_idor an Application Health Extension.- Note: For more information about Automatic Instance Repair, please refer to the product documentation. 
- automaticOs Property MapUpgrade Policy 
- An automatic_os_upgrade_policyblock as defined below. This can only be specified whenupgrade_modeis set to eitherAutomaticorRolling.
- bootDiagnostics Property Map
- A boot_diagnosticsblock as defined below.
- capacityReservation StringGroup Id 
- Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created. - Note: - capacity_reservation_group_idcannot be used with- proximity_placement_group_id- Note: - single_placement_groupmust be set to- falsewhen- capacity_reservation_group_idis specified.
- computerName StringPrefix 
- The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the namefield. If the value of thenamefield is not a validcomputer_name_prefix, then you must specifycomputer_name_prefix. Changing this forces a new resource to be created.
- customData String
- The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set. - Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API. 
- dataDisks List<Property Map>
- One or more data_diskblocks as defined below.
- disablePassword BooleanAuthentication 
- Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to - true.- 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 a - admin_passwordis specified- disable_password_authenticationmust be set to- false.
- doNot BooleanRun Extensions On Overprovisioned Machines 
- Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
- edgeZone String
- Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set 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 the eviction policy for Virtual Machines in this Scale Set. 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.
- extensionOperations BooleanEnabled 
- Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are - trueor- false. Defaults to- true. Changing this forces a new Linux Virtual Machine Scale Set to be created.- Note: - extension_operations_enabledmay only be set to- falseif there are no extensions defined in the- extensionfield.
- extensions List<Property Map>
- One or more extensionblocks as defined below
- extensionsTime StringBudget 
- Specifies the duration allocated for all extensions to start. The time duration should be between 15minutes and120minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M.
- galleryApplications List<Property Map>
- One or more gallery_applicationblocks as defined below.
- healthProbe StringId 
- The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_modeis set toAutomaticorRolling.
- hostGroup StringId 
- Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity Property Map
- An identityblock as defined below.
- instances Number
- The number of Virtual Machines in the Scale Set. Defaults to - 0.- NOTE: If you're using AutoScaling, you may wish to use - Ignore Changesfunctionality to ignore changes to this field.
- location String
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- maxBid NumberPrice 
- The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the - eviction_policy. Defaults to- -1, which means that each Virtual Machine in this Scale Set 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 Scale Set. Changing this forces a new resource to be created.
- networkInterfaces List<Property Map>
- One or more network_interfaceblocks as defined below.
- osDisk Property Map
- An os_diskblock as defined below.
- overprovision Boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to true.
- plan Property Map
- A - planblock as defined below. Changing this forces a new resource to be created.- Note: When using an image from Azure Marketplace a - planmust be specified.
- platformFault NumberDomain Count 
- Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority String
- The Priority of this Virtual Machine Scale Set. Possible values are - Regularand- Spot. Defaults to- Regular. Changing this value forces a new resource.- Note: When - priorityis set to- Spotan- eviction_policymust be specified.
- provisionVm BooleanAgent 
- Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to true. Changing this value forces a new resource to be created.
- proximityPlacement StringGroup Id 
- The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- resourceGroup StringName 
- The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- rollingUpgrade Property MapPolicy 
- A rolling_upgrade_policyblock as defined below. This is Required and can only be specified whenupgrade_modeis set toAutomaticorRolling. Changing this forces a new resource to be created.
- scaleIn Property Map
- A scale_inblock as defined below.
- 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.
- singlePlacement BooleanGroup 
- Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
- sku String
- The Virtual Machine SKU for the Scale Set, such as Standard_F2.
- sourceImage StringId 
- The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include - Image ID,- Shared Image ID,- Shared Image Version ID,- Community Gallery Image ID,- Community Gallery Image Version ID,- Shared Gallery Image IDand- Shared Gallery Image Version ID.- Note: One of either - source_image_idor- source_image_referencemust be set.
- sourceImage Property MapReference 
- A - source_image_referenceblock as defined below.- Note: One of either - source_image_idor- source_image_referencemust be set.
- spotRestore Property Map
- A spot_restoreblock as defined below.
- Map<String>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- terminationNotification Property Map
- A termination_notificationblock as defined below.
- uniqueId String
- The Unique ID for this Linux Virtual Machine Scale Set.
- upgradeMode String
- userData String
- The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpmEnabled Boolean
- Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zoneBalance Boolean
- Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to - false. Changing this forces a new resource to be created.- Note: This can only be set to - truewhen one or more- zonesare configured.
- zones List<String>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. - Note: Updating - zonesto remove an existing zone forces a new Virtual Machine Scale Set to be created.
Supporting Types
LinuxVirtualMachineScaleSetAdditionalCapabilities, LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs              
- UltraSsd boolEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine Scale Set? Possible values aretrueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- UltraSsd boolEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine Scale Set? Possible values aretrueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- ultraSsd BooleanEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine Scale Set? Possible values aretrueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- ultraSsd booleanEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine Scale Set? Possible values aretrueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- ultra_ssd_ boolenabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine Scale Set? Possible values aretrueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- ultraSsd BooleanEnabled 
- Should the capacity to enable Data Disks of the UltraSSD_LRSstorage account type be supported on this Virtual Machine Scale Set? Possible values aretrueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetAdminSshKey, LinuxVirtualMachineScaleSetAdminSshKeyArgs                
- 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.
- Username string
- The Username for which this Public SSH Key should be configured. - 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 added/appended 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.
- Username string
- The Username for which this Public SSH Key should be configured. - 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 added/appended 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.
- username String
- The Username for which this Public SSH Key should be configured. - 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 added/appended 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.
- username string
- The Username for which this Public SSH Key should be configured. - 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 added/appended 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.
- username str
- The Username for which this Public SSH Key should be configured. - 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 added/appended 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.
- username String
- The Username for which this Public SSH Key should be configured. - 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 added/appended to the authorized keys file.
LinuxVirtualMachineScaleSetAutomaticInstanceRepair, LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs                
- Enabled bool
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- Action string
- The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include - Replace,- Restart,- Reimage.- Note: Once the - actionfield has been set it will always return the last value it was assigned if it is removed from the configuration file.- Note: If you wish to update the repair - actionof an existing- automatic_instance_repairpolicy, you must first- disablethe- automatic_instance_repairpolicy before you can re-enable the- automatic_instance_repairpolicy with the new repair- actiondefined.
- GracePeriod string
- Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between - 10and- 90minutes. The time duration should be specified in- ISO 8601format (e.g.- PT10Mto- PT90M).- Note: Once the - grace_periodfield has been set it will always return the last value it was assigned if it is removed from the configuration file.
- Enabled bool
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- Action string
- The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include - Replace,- Restart,- Reimage.- Note: Once the - actionfield has been set it will always return the last value it was assigned if it is removed from the configuration file.- Note: If you wish to update the repair - actionof an existing- automatic_instance_repairpolicy, you must first- disablethe- automatic_instance_repairpolicy before you can re-enable the- automatic_instance_repairpolicy with the new repair- actiondefined.
- GracePeriod string
- Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between - 10and- 90minutes. The time duration should be specified in- ISO 8601format (e.g.- PT10Mto- PT90M).- Note: Once the - grace_periodfield has been set it will always return the last value it was assigned if it is removed from the configuration file.
- enabled Boolean
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- action String
- The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include - Replace,- Restart,- Reimage.- Note: Once the - actionfield has been set it will always return the last value it was assigned if it is removed from the configuration file.- Note: If you wish to update the repair - actionof an existing- automatic_instance_repairpolicy, you must first- disablethe- automatic_instance_repairpolicy before you can re-enable the- automatic_instance_repairpolicy with the new repair- actiondefined.
- gracePeriod String
- Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between - 10and- 90minutes. The time duration should be specified in- ISO 8601format (e.g.- PT10Mto- PT90M).- Note: Once the - grace_periodfield has been set it will always return the last value it was assigned if it is removed from the configuration file.
- enabled boolean
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- action string
- The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include - Replace,- Restart,- Reimage.- Note: Once the - actionfield has been set it will always return the last value it was assigned if it is removed from the configuration file.- Note: If you wish to update the repair - actionof an existing- automatic_instance_repairpolicy, you must first- disablethe- automatic_instance_repairpolicy before you can re-enable the- automatic_instance_repairpolicy with the new repair- actiondefined.
- gracePeriod string
- Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between - 10and- 90minutes. The time duration should be specified in- ISO 8601format (e.g.- PT10Mto- PT90M).- Note: Once the - grace_periodfield has been set it will always return the last value it was assigned if it is removed from the configuration file.
- enabled bool
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- action str
- The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include - Replace,- Restart,- Reimage.- Note: Once the - actionfield has been set it will always return the last value it was assigned if it is removed from the configuration file.- Note: If you wish to update the repair - actionof an existing- automatic_instance_repairpolicy, you must first- disablethe- automatic_instance_repairpolicy before you can re-enable the- automatic_instance_repairpolicy with the new repair- actiondefined.
- grace_period str
- Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between - 10and- 90minutes. The time duration should be specified in- ISO 8601format (e.g.- PT10Mto- PT90M).- Note: Once the - grace_periodfield has been set it will always return the last value it was assigned if it is removed from the configuration file.
- enabled Boolean
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- action String
- The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include - Replace,- Restart,- Reimage.- Note: Once the - actionfield has been set it will always return the last value it was assigned if it is removed from the configuration file.- Note: If you wish to update the repair - actionof an existing- automatic_instance_repairpolicy, you must first- disablethe- automatic_instance_repairpolicy before you can re-enable the- automatic_instance_repairpolicy with the new repair- actiondefined.
- gracePeriod String
- Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between - 10and- 90minutes. The time duration should be specified in- ISO 8601format (e.g.- PT10Mto- PT90M).- Note: Once the - grace_periodfield has been set it will always return the last value it was assigned if it is removed from the configuration file.
LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy, LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs                  
- DisableAutomatic boolRollback 
- Should automatic rollbacks be disabled?
- EnableAutomatic boolOs Upgrade 
- Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- DisableAutomatic boolRollback 
- Should automatic rollbacks be disabled?
- EnableAutomatic boolOs Upgrade 
- Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- disableAutomatic BooleanRollback 
- Should automatic rollbacks be disabled?
- enableAutomatic BooleanOs Upgrade 
- Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- disableAutomatic booleanRollback 
- Should automatic rollbacks be disabled?
- enableAutomatic booleanOs Upgrade 
- Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- disable_automatic_ boolrollback 
- Should automatic rollbacks be disabled?
- enable_automatic_ boolos_ upgrade 
- Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- disableAutomatic BooleanRollback 
- Should automatic rollbacks be disabled?
- enableAutomatic BooleanOs Upgrade 
- Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
LinuxVirtualMachineScaleSetBootDiagnostics, LinuxVirtualMachineScaleSetBootDiagnosticsArgs              
- 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. 
LinuxVirtualMachineScaleSetDataDisk, LinuxVirtualMachineScaleSetDataDiskArgs              
- Caching string
- The type of Caching which should be used for this Data Disk. Possible values are None,ReadOnlyandReadWrite.
- DiskSize intGb 
- The size of the Data Disk which should be created.
- Lun int
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- StorageAccount stringType 
- The Type of Storage Account which should back this Data Disk. Possible values include - Standard_LRS,- StandardSSD_LRS,- StandardSSD_ZRS,- Premium_LRS,- PremiumV2_LRS,- Premium_ZRSand- UltraSSD_LRS.- Note: - UltraSSD_LRSis only supported when- ultra_ssd_enabledwithin the- additional_capabilitiesblock is enabled.
- CreateOption string
- The create option which should be used for this Data Disk. Possible values are EmptyandFromImage. Defaults toEmpty. (FromImageshould only be used if the source image includes data disks).
- DiskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created. - 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- Name string
- The name of the Data Disk.
- UltraSsd intDisk Iops Read Write 
- Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- UltraSsd intDisk Mbps Read Write 
- Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- WriteAccelerator boolEnabled 
- Should Write Accelerator be enabled for this Data 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 this Data Disk. Possible values are None,ReadOnlyandReadWrite.
- DiskSize intGb 
- The size of the Data Disk which should be created.
- Lun int
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- StorageAccount stringType 
- The Type of Storage Account which should back this Data Disk. Possible values include - Standard_LRS,- StandardSSD_LRS,- StandardSSD_ZRS,- Premium_LRS,- PremiumV2_LRS,- Premium_ZRSand- UltraSSD_LRS.- Note: - UltraSSD_LRSis only supported when- ultra_ssd_enabledwithin the- additional_capabilitiesblock is enabled.
- CreateOption string
- The create option which should be used for this Data Disk. Possible values are EmptyandFromImage. Defaults toEmpty. (FromImageshould only be used if the source image includes data disks).
- DiskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created. - 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- Name string
- The name of the Data Disk.
- UltraSsd intDisk Iops Read Write 
- Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- UltraSsd intDisk Mbps Read Write 
- Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- WriteAccelerator boolEnabled 
- Should Write Accelerator be enabled for this Data 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 this Data Disk. Possible values are None,ReadOnlyandReadWrite.
- diskSize IntegerGb 
- The size of the Data Disk which should be created.
- lun Integer
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- storageAccount StringType 
- The Type of Storage Account which should back this Data Disk. Possible values include - Standard_LRS,- StandardSSD_LRS,- StandardSSD_ZRS,- Premium_LRS,- PremiumV2_LRS,- Premium_ZRSand- UltraSSD_LRS.- Note: - UltraSSD_LRSis only supported when- ultra_ssd_enabledwithin the- additional_capabilitiesblock is enabled.
- createOption String
- The create option which should be used for this Data Disk. Possible values are EmptyandFromImage. Defaults toEmpty. (FromImageshould only be used if the source image includes data disks).
- diskEncryption StringSet Id 
- The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created. - 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- name String
- The name of the Data Disk.
- ultraSsd IntegerDisk Iops Read Write 
- Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- ultraSsd IntegerDisk Mbps Read Write 
- Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- writeAccelerator BooleanEnabled 
- Should Write Accelerator be enabled for this Data 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 this Data Disk. Possible values are None,ReadOnlyandReadWrite.
- diskSize numberGb 
- The size of the Data Disk which should be created.
- lun number
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- storageAccount stringType 
- The Type of Storage Account which should back this Data Disk. Possible values include - Standard_LRS,- StandardSSD_LRS,- StandardSSD_ZRS,- Premium_LRS,- PremiumV2_LRS,- Premium_ZRSand- UltraSSD_LRS.- Note: - UltraSSD_LRSis only supported when- ultra_ssd_enabledwithin the- additional_capabilitiesblock is enabled.
- createOption string
- The create option which should be used for this Data Disk. Possible values are EmptyandFromImage. Defaults toEmpty. (FromImageshould only be used if the source image includes data disks).
- diskEncryption stringSet Id 
- The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created. - 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- name string
- The name of the Data Disk.
- ultraSsd numberDisk Iops Read Write 
- Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- ultraSsd numberDisk Mbps Read Write 
- Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- writeAccelerator booleanEnabled 
- Should Write Accelerator be enabled for this Data 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 this Data Disk. Possible values are None,ReadOnlyandReadWrite.
- disk_size_ intgb 
- The size of the Data Disk which should be created.
- lun int
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- storage_account_ strtype 
- The Type of Storage Account which should back this Data Disk. Possible values include - Standard_LRS,- StandardSSD_LRS,- StandardSSD_ZRS,- Premium_LRS,- PremiumV2_LRS,- Premium_ZRSand- UltraSSD_LRS.- Note: - UltraSSD_LRSis only supported when- ultra_ssd_enabledwithin the- additional_capabilitiesblock is enabled.
- create_option str
- The create option which should be used for this Data Disk. Possible values are EmptyandFromImage. Defaults toEmpty. (FromImageshould only be used if the source image includes data disks).
- disk_encryption_ strset_ id 
- The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created. - 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- name str
- The name of the Data Disk.
- ultra_ssd_ intdisk_ iops_ read_ write 
- Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- ultra_ssd_ intdisk_ mbps_ read_ write 
- Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- write_accelerator_ boolenabled 
- Should Write Accelerator be enabled for this Data 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 this Data Disk. Possible values are None,ReadOnlyandReadWrite.
- diskSize NumberGb 
- The size of the Data Disk which should be created.
- lun Number
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- storageAccount StringType 
- The Type of Storage Account which should back this Data Disk. Possible values include - Standard_LRS,- StandardSSD_LRS,- StandardSSD_ZRS,- Premium_LRS,- PremiumV2_LRS,- Premium_ZRSand- UltraSSD_LRS.- Note: - UltraSSD_LRSis only supported when- ultra_ssd_enabledwithin the- additional_capabilitiesblock is enabled.
- createOption String
- The create option which should be used for this Data Disk. Possible values are EmptyandFromImage. Defaults toEmpty. (FromImageshould only be used if the source image includes data disks).
- diskEncryption StringSet Id 
- The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created. - 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- name String
- The name of the Data Disk.
- ultraSsd NumberDisk Iops Read Write 
- Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- ultraSsd NumberDisk Mbps Read Write 
- Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_typeisPremiumV2_LRSorUltraSSD_LRS.
- writeAccelerator BooleanEnabled 
- Should Write Accelerator be enabled for this Data Disk? Defaults to - false.- Note: This requires that the - storage_account_typeis set to- Premium_LRSand that- cachingis set to- None.
LinuxVirtualMachineScaleSetExtension, LinuxVirtualMachineScaleSetExtensionArgs            
- Name string
- The name for the Virtual Machine Scale Set Extension.
- Publisher string
- Specifies the Publisher of the Extension.
- Type string
- Specifies the Type of the Extension.
- TypeHandler stringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- AutoUpgrade boolMinor Version 
- Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
- AutomaticUpgrade boolEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- ForceUpdate stringTag 
- A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- ProtectedSettings string
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - Note: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- ProtectedSettings LinuxFrom Key Vault Virtual Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- ProvisionAfter List<string>Extensions 
- An ordered list of Extension names which this should be provisioned after.
- Settings string
- A JSON String which specifies Settings for the Extension. - Note: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- Name string
- The name for the Virtual Machine Scale Set Extension.
- Publisher string
- Specifies the Publisher of the Extension.
- Type string
- Specifies the Type of the Extension.
- TypeHandler stringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- AutoUpgrade boolMinor Version 
- Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
- AutomaticUpgrade boolEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- ForceUpdate stringTag 
- A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- ProtectedSettings string
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - Note: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- ProtectedSettings LinuxFrom Key Vault Virtual Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- ProvisionAfter []stringExtensions 
- An ordered list of Extension names which this should be provisioned after.
- Settings string
- A JSON String which specifies Settings for the Extension. - Note: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- name String
- The name for the Virtual Machine Scale Set Extension.
- publisher String
- Specifies the Publisher of the Extension.
- type String
- Specifies the Type of the Extension.
- typeHandler StringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- autoUpgrade BooleanMinor Version 
- Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
- automaticUpgrade BooleanEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- forceUpdate StringTag 
- A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- protectedSettings String
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - Note: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protectedSettings LinuxFrom Key Vault Virtual Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provisionAfter List<String>Extensions 
- An ordered list of Extension names which this should be provisioned after.
- settings String
- A JSON String which specifies Settings for the Extension. - Note: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- name string
- The name for the Virtual Machine Scale Set Extension.
- publisher string
- Specifies the Publisher of the Extension.
- type string
- Specifies the Type of the Extension.
- typeHandler stringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- autoUpgrade booleanMinor Version 
- Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
- automaticUpgrade booleanEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- forceUpdate stringTag 
- A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- protectedSettings string
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - Note: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protectedSettings LinuxFrom Key Vault Virtual Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provisionAfter string[]Extensions 
- An ordered list of Extension names which this should be provisioned after.
- settings string
- A JSON String which specifies Settings for the Extension. - Note: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- name str
- The name for the Virtual Machine Scale Set Extension.
- publisher str
- Specifies the Publisher of the Extension.
- type str
- Specifies the Type of the Extension.
- type_handler_ strversion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- auto_upgrade_ boolminor_ version 
- Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
- automatic_upgrade_ boolenabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- force_update_ strtag 
- A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- protected_settings str
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - Note: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protected_settings_ Linuxfrom_ key_ vault Virtual Machine Scale Set Extension Protected Settings From Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provision_after_ Sequence[str]extensions 
- An ordered list of Extension names which this should be provisioned after.
- settings str
- A JSON String which specifies Settings for the Extension. - Note: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- name String
- The name for the Virtual Machine Scale Set Extension.
- publisher String
- Specifies the Publisher of the Extension.
- type String
- Specifies the Type of the Extension.
- typeHandler StringVersion 
- Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- autoUpgrade BooleanMinor Version 
- Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
- automaticUpgrade BooleanEnabled 
- Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- forceUpdate StringTag 
- A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- protectedSettings String
- A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension. - Note: Keys within the - protected_settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- protectedSettings Property MapFrom Key Vault 
- A - protected_settings_from_key_vaultblock as defined below.- Note: - protected_settings_from_key_vaultcannot be used with- protected_settings
- provisionAfter List<String>Extensions 
- An ordered list of Extension names which this should be provisioned after.
- settings String
- A JSON String which specifies Settings for the Extension. - Note: Keys within the - settingsblock are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault, LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs                      
- SecretUrl string
- The URL to the Key Vault Secret which stores the protected settings.
- SourceVault stringId 
- The ID of the source Key Vault.
- SecretUrl string
- The URL to the Key Vault Secret which stores the protected settings.
- SourceVault stringId 
- The ID of the source Key Vault.
- secretUrl String
- The URL to the Key Vault Secret which stores the protected settings.
- sourceVault StringId 
- The ID of the source Key Vault.
- secretUrl string
- The URL to the Key Vault Secret which stores the protected settings.
- sourceVault stringId 
- The ID of the source Key Vault.
- secret_url str
- The URL to the Key Vault Secret which stores the protected settings.
- source_vault_ strid 
- The ID of the source Key Vault.
- secretUrl String
- The URL to the Key Vault Secret which stores the protected settings.
- sourceVault StringId 
- The ID of the source Key Vault.
LinuxVirtualMachineScaleSetGalleryApplication, LinuxVirtualMachineScaleSetGalleryApplicationArgs              
- VersionId string
- Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- ConfigurationBlob stringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- Order int
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0. Changing this forces a new resource to be created.
- Tag string
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue. Changing this forces a new resource to be created.
- VersionId string
- Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- ConfigurationBlob stringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- Order int
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0. Changing this forces a new resource to be created.
- Tag string
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue. Changing this forces a new resource to be created.
- versionId String
- Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- configurationBlob StringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- order Integer
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0. Changing this forces a new resource to be created.
- tag String
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue. Changing this forces a new resource to be created.
- versionId string
- Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- configurationBlob stringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- order number
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0. Changing this forces a new resource to be created.
- tag string
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue. Changing this forces a new resource to be created.
- version_id str
- Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- configuration_blob_ struri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- order int
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0. Changing this forces a new resource to be created.
- tag str
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue. Changing this forces a new resource to be created.
- versionId String
- Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- configurationBlob StringUri 
- Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- order Number
- Specifies the order in which the packages have to be installed. Possible values are between 0and2147483647. Defaults to0. Changing this forces a new resource to be created.
- tag String
- Specifies a passthrough value for more generic context. This field can be any valid stringvalue. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetIdentity, LinuxVirtualMachineScaleSetIdentityArgs            
- Type string
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. 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 Scale Set. - 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 Scale Set. 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 Scale Set. - 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 Scale Set. 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 Scale Set. - 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 Scale Set. 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 Scale Set. - 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 Scale Set. 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 Scale Set. - 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 Scale Set. 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 Scale Set. - 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.
LinuxVirtualMachineScaleSetNetworkInterface, LinuxVirtualMachineScaleSetNetworkInterfaceArgs              
- IpConfigurations List<LinuxVirtual Machine Scale Set Network Interface Ip Configuration> 
- One or more ip_configurationblocks as defined above.
- Name string
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- DnsServers List<string>
- A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- EnableAccelerated boolNetworking 
- Does this Network Interface support Accelerated Networking? Defaults to false.
- EnableIp boolForwarding 
- Does this Network Interface support IP Forwarding? Defaults to false.
- NetworkSecurity stringGroup Id 
- The ID of a Network Security Group which should be assigned to this Network Interface.
- Primary bool
- Is this the Primary IP Configuration? - Note: If multiple - network_interfaceblocks are specified, one must be set to- primary.
- IpConfigurations []LinuxVirtual Machine Scale Set Network Interface Ip Configuration 
- One or more ip_configurationblocks as defined above.
- Name string
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- DnsServers []string
- A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- EnableAccelerated boolNetworking 
- Does this Network Interface support Accelerated Networking? Defaults to false.
- EnableIp boolForwarding 
- Does this Network Interface support IP Forwarding? Defaults to false.
- NetworkSecurity stringGroup Id 
- The ID of a Network Security Group which should be assigned to this Network Interface.
- Primary bool
- Is this the Primary IP Configuration? - Note: If multiple - network_interfaceblocks are specified, one must be set to- primary.
- ipConfigurations List<LinuxVirtual Machine Scale Set Network Interface Ip Configuration> 
- One or more ip_configurationblocks as defined above.
- name String
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- dnsServers List<String>
- A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- enableAccelerated BooleanNetworking 
- Does this Network Interface support Accelerated Networking? Defaults to false.
- enableIp BooleanForwarding 
- Does this Network Interface support IP Forwarding? Defaults to false.
- networkSecurity StringGroup Id 
- The ID of a Network Security Group which should be assigned to this Network Interface.
- primary Boolean
- Is this the Primary IP Configuration? - Note: If multiple - network_interfaceblocks are specified, one must be set to- primary.
- ipConfigurations LinuxVirtual Machine Scale Set Network Interface Ip Configuration[] 
- One or more ip_configurationblocks as defined above.
- name string
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- dnsServers string[]
- A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- enableAccelerated booleanNetworking 
- Does this Network Interface support Accelerated Networking? Defaults to false.
- enableIp booleanForwarding 
- Does this Network Interface support IP Forwarding? Defaults to false.
- networkSecurity stringGroup Id 
- The ID of a Network Security Group which should be assigned to this Network Interface.
- primary boolean
- Is this the Primary IP Configuration? - Note: If multiple - network_interfaceblocks are specified, one must be set to- primary.
- ip_configurations Sequence[LinuxVirtual Machine Scale Set Network Interface Ip Configuration] 
- One or more ip_configurationblocks as defined above.
- name str
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- dns_servers Sequence[str]
- A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- enable_accelerated_ boolnetworking 
- Does this Network Interface support Accelerated Networking? Defaults to false.
- enable_ip_ boolforwarding 
- Does this Network Interface support IP Forwarding? Defaults to false.
- network_security_ strgroup_ id 
- The ID of a Network Security Group which should be assigned to this Network Interface.
- primary bool
- Is this the Primary IP Configuration? - Note: If multiple - network_interfaceblocks are specified, one must be set to- primary.
- ipConfigurations List<Property Map>
- One or more ip_configurationblocks as defined above.
- name String
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- dnsServers List<String>
- A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- enableAccelerated BooleanNetworking 
- Does this Network Interface support Accelerated Networking? Defaults to false.
- enableIp BooleanForwarding 
- Does this Network Interface support IP Forwarding? Defaults to false.
- networkSecurity StringGroup Id 
- The ID of a Network Security Group which should be assigned to this Network Interface.
- primary Boolean
- Is this the Primary IP Configuration? - Note: If multiple - network_interfaceblocks are specified, one must be set to- primary.
LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration, LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs                  
- Name string
- The Name which should be used for this IP Configuration.
- ApplicationGateway List<string>Backend Address Pool Ids 
- A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- ApplicationSecurity List<string>Group Ids 
- A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- LoadBalancer List<string>Backend Address Pool Ids 
- A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. - Basicor- Standard). Alternatively, you may use the- public_ip_prefix_idfield to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group- ResourceGroupName--name- VirtualMachineScaleSetNameCLI command.- Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- LoadBalancer List<string>Inbound Nat Rules Ids 
- A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- Primary bool
- Is this the Primary IP Configuration for this Network Interface? Defaults to - false.- Note: One - ip_configurationblock must be marked as Primary for each Network Interface.
- PublicIp List<LinuxAddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address> 
- A public_ip_addressblock as defined below.
- SubnetId string
- The ID of the Subnet which this IP Configuration should be connected to. - subnet_idis required if- versionis set to- IPv4.
- Version string
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4andIPv6. Defaults toIPv4.
- Name string
- The Name which should be used for this IP Configuration.
- ApplicationGateway []stringBackend Address Pool Ids 
- A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- ApplicationSecurity []stringGroup Ids 
- A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- LoadBalancer []stringBackend Address Pool Ids 
- A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. - Basicor- Standard). Alternatively, you may use the- public_ip_prefix_idfield to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group- ResourceGroupName--name- VirtualMachineScaleSetNameCLI command.- Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- LoadBalancer []stringInbound Nat Rules Ids 
- A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- Primary bool
- Is this the Primary IP Configuration for this Network Interface? Defaults to - false.- Note: One - ip_configurationblock must be marked as Primary for each Network Interface.
- PublicIp []LinuxAddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address 
- A public_ip_addressblock as defined below.
- SubnetId string
- The ID of the Subnet which this IP Configuration should be connected to. - subnet_idis required if- versionis set to- IPv4.
- Version string
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4andIPv6. Defaults toIPv4.
- name String
- The Name which should be used for this IP Configuration.
- applicationGateway List<String>Backend Address Pool Ids 
- A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- applicationSecurity List<String>Group Ids 
- A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- loadBalancer List<String>Backend Address Pool Ids 
- A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. - Basicor- Standard). Alternatively, you may use the- public_ip_prefix_idfield to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group- ResourceGroupName--name- VirtualMachineScaleSetNameCLI command.- Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- loadBalancer List<String>Inbound Nat Rules Ids 
- A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- primary Boolean
- Is this the Primary IP Configuration for this Network Interface? Defaults to - false.- Note: One - ip_configurationblock must be marked as Primary for each Network Interface.
- publicIp List<LinuxAddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address> 
- A public_ip_addressblock as defined below.
- subnetId String
- The ID of the Subnet which this IP Configuration should be connected to. - subnet_idis required if- versionis set to- IPv4.
- version String
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4andIPv6. Defaults toIPv4.
- name string
- The Name which should be used for this IP Configuration.
- applicationGateway string[]Backend Address Pool Ids 
- A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- applicationSecurity string[]Group Ids 
- A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- loadBalancer string[]Backend Address Pool Ids 
- A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. - Basicor- Standard). Alternatively, you may use the- public_ip_prefix_idfield to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group- ResourceGroupName--name- VirtualMachineScaleSetNameCLI command.- Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- loadBalancer string[]Inbound Nat Rules Ids 
- A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- primary boolean
- Is this the Primary IP Configuration for this Network Interface? Defaults to - false.- Note: One - ip_configurationblock must be marked as Primary for each Network Interface.
- publicIp LinuxAddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address[] 
- A public_ip_addressblock as defined below.
- subnetId string
- The ID of the Subnet which this IP Configuration should be connected to. - subnet_idis required if- versionis set to- IPv4.
- version string
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4andIPv6. Defaults toIPv4.
- name str
- The Name which should be used for this IP Configuration.
- application_gateway_ Sequence[str]backend_ address_ pool_ ids 
- A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- application_security_ Sequence[str]group_ ids 
- A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- load_balancer_ Sequence[str]backend_ address_ pool_ ids 
- A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. - Basicor- Standard). Alternatively, you may use the- public_ip_prefix_idfield to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group- ResourceGroupName--name- VirtualMachineScaleSetNameCLI command.- Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- load_balancer_ Sequence[str]inbound_ nat_ rules_ ids 
- A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- primary bool
- Is this the Primary IP Configuration for this Network Interface? Defaults to - false.- Note: One - ip_configurationblock must be marked as Primary for each Network Interface.
- public_ip_ Sequence[Linuxaddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address] 
- A public_ip_addressblock as defined below.
- subnet_id str
- The ID of the Subnet which this IP Configuration should be connected to. - subnet_idis required if- versionis set to- IPv4.
- version str
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4andIPv6. Defaults toIPv4.
- name String
- The Name which should be used for this IP Configuration.
- applicationGateway List<String>Backend Address Pool Ids 
- A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- applicationSecurity List<String>Group Ids 
- A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- loadBalancer List<String>Backend Address Pool Ids 
- A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. - Basicor- Standard). Alternatively, you may use the- public_ip_prefix_idfield to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group- ResourceGroupName--name- VirtualMachineScaleSetNameCLI command.- Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- loadBalancer List<String>Inbound Nat Rules Ids 
- A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to. - Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a - depends_onbetween this resource and the Load Balancer Rule.
- primary Boolean
- Is this the Primary IP Configuration for this Network Interface? Defaults to - false.- Note: One - ip_configurationblock must be marked as Primary for each Network Interface.
- publicIp List<Property Map>Addresses 
- A public_ip_addressblock as defined below.
- subnetId String
- The ID of the Subnet which this IP Configuration should be connected to. - subnet_idis required if- versionis set to- IPv4.
- version String
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4andIPv6. Defaults toIPv4.
LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress, LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs                        
- Name string
- The Name of the Public IP Address Configuration.
- DomainName stringLabel 
- The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- IdleTimeout intIn Minutes 
- The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4to32.
- 
List<LinuxVirtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag> 
- One or more ip_tagblocks as defined above. Changing this forces a new resource to be created.
- PublicIp stringPrefix Id 
- The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created. - Note: This functionality is in Preview and must be opted into via - az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddressand then- az provider register -n Microsoft.Network.
- Version string
- The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4andIPv6. Defaults toIPv4. Changing this forces a new resource to be created.
- Name string
- The Name of the Public IP Address Configuration.
- DomainName stringLabel 
- The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- IdleTimeout intIn Minutes 
- The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4to32.
- 
[]LinuxVirtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag 
- One or more ip_tagblocks as defined above. Changing this forces a new resource to be created.
- PublicIp stringPrefix Id 
- The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created. - Note: This functionality is in Preview and must be opted into via - az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddressand then- az provider register -n Microsoft.Network.
- Version string
- The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4andIPv6. Defaults toIPv4. Changing this forces a new resource to be created.
- name String
- The Name of the Public IP Address Configuration.
- domainName StringLabel 
- The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- idleTimeout IntegerIn Minutes 
- The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4to32.
- 
List<LinuxVirtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag> 
- One or more ip_tagblocks as defined above. Changing this forces a new resource to be created.
- publicIp StringPrefix Id 
- The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created. - Note: This functionality is in Preview and must be opted into via - az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddressand then- az provider register -n Microsoft.Network.
- version String
- The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4andIPv6. Defaults toIPv4. Changing this forces a new resource to be created.
- name string
- The Name of the Public IP Address Configuration.
- domainName stringLabel 
- The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- idleTimeout numberIn Minutes 
- The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4to32.
- 
LinuxVirtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag[] 
- One or more ip_tagblocks as defined above. Changing this forces a new resource to be created.
- publicIp stringPrefix Id 
- The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created. - Note: This functionality is in Preview and must be opted into via - az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddressand then- az provider register -n Microsoft.Network.
- version string
- The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4andIPv6. Defaults toIPv4. Changing this forces a new resource to be created.
- name str
- The Name of the Public IP Address Configuration.
- domain_name_ strlabel 
- The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- idle_timeout_ intin_ minutes 
- The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4to32.
- 
Sequence[LinuxVirtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag] 
- One or more ip_tagblocks as defined above. Changing this forces a new resource to be created.
- public_ip_ strprefix_ id 
- The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created. - Note: This functionality is in Preview and must be opted into via - az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddressand then- az provider register -n Microsoft.Network.
- version str
- The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4andIPv6. Defaults toIPv4. Changing this forces a new resource to be created.
- name String
- The Name of the Public IP Address Configuration.
- domainName StringLabel 
- The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- idleTimeout NumberIn Minutes 
- The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4to32.
- List<Property Map>
- One or more ip_tagblocks as defined above. Changing this forces a new resource to be created.
- publicIp StringPrefix Id 
- The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created. - Note: This functionality is in Preview and must be opted into via - az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddressand then- az provider register -n Microsoft.Network.
- version String
- The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4andIPv6. Defaults toIPv4. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag, LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs                            
LinuxVirtualMachineScaleSetOsDisk, LinuxVirtualMachineScaleSetOsDiskArgs              
- 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 include Standard_LRS,StandardSSD_LRS,StandardSSD_ZRS,Premium_LRSandPremium_ZRS. Changing this forces a new resource to be created.
- DiffDisk LinuxSettings Virtual Machine Scale Set Os Disk Diff Disk Settings 
- A diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.
- 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. Changing this forces a new resource to be created.- 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- 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 Scale Set is sourced from. - Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set 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. 
- SecureVm stringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. 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 Scale Set is Confidential VMSS. 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 include Standard_LRS,StandardSSD_LRS,StandardSSD_ZRS,Premium_LRSandPremium_ZRS. Changing this forces a new resource to be created.
- DiffDisk LinuxSettings Virtual Machine Scale Set Os Disk Diff Disk Settings 
- A diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.
- 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. Changing this forces a new resource to be created.- 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- 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 Scale Set is sourced from. - Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set 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. 
- SecureVm stringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. 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 Scale Set is Confidential VMSS. 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 include Standard_LRS,StandardSSD_LRS,StandardSSD_ZRS,Premium_LRSandPremium_ZRS. Changing this forces a new resource to be created.
- diffDisk LinuxSettings Virtual Machine Scale Set Os Disk Diff Disk Settings 
- A diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.
- 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. Changing this forces a new resource to be created.- 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- 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 Scale Set is sourced from. - Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set 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. 
- secureVm StringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. 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 Scale Set is Confidential VMSS. 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 include Standard_LRS,StandardSSD_LRS,StandardSSD_ZRS,Premium_LRSandPremium_ZRS. Changing this forces a new resource to be created.
- diffDisk LinuxSettings Virtual Machine Scale Set Os Disk Diff Disk Settings 
- A diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.
- 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. Changing this forces a new resource to be created.- 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- 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 Scale Set is sourced from. - Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set 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. 
- secureVm stringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. 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 Scale Set is Confidential VMSS. 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 include Standard_LRS,StandardSSD_LRS,StandardSSD_ZRS,Premium_LRSandPremium_ZRS. Changing this forces a new resource to be created.
- diff_disk_ Linuxsettings Virtual Machine Scale Set Os Disk Diff Disk Settings 
- A diff_disk_settingsblock as defined above. Changing this forces a new resource to be created.
- 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. Changing this forces a new resource to be created.- 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- 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 Scale Set is sourced from. - Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set 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. 
- secure_vm_ strdisk_ encryption_ set_ id 
- The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. 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 Scale Set is Confidential VMSS. 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 include Standard_LRS,StandardSSD_LRS,StandardSSD_ZRS,Premium_LRSandPremium_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.
- 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. Changing this forces a new resource to be created.- 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- Note: Disk Encryption Sets are in Public Preview in a limited set of regions 
- 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 Scale Set is sourced from. - Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set 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. 
- secureVm StringDisk Encryption Set Id 
- The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. 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 Scale Set is Confidential VMSS. 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.
LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings, LinuxVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs                    
- 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.
LinuxVirtualMachineScaleSetPlan, LinuxVirtualMachineScaleSetPlanArgs            
- Name string
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- Product string
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- Publisher string
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- Product string
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- Publisher string
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- name String
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- product String
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- publisher String
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- name string
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- product string
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- publisher string
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- name str
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- product str
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- publisher str
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- name String
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- product String
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- publisher String
- Specifies the publisher of the image. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetRollingUpgradePolicy, LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs                
- MaxBatch intInstance Percent 
- The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
- MaxUnhealthy intInstance Percent 
- The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
- MaxUnhealthy intUpgraded Instance Percent 
- The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
- PauseTime stringBetween Batches 
- The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
- CrossZone boolUpgrades Enabled 
- Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are trueorfalse.
- MaximumSurge boolInstances Enabled 
- Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are - trueor- false.- Note: - overprovisionmust be set to- falsewhen- maximum_surge_instances_enabledis specified.
- PrioritizeUnhealthy boolInstances Enabled 
- Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are trueorfalse.
- MaxBatch intInstance Percent 
- The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
- MaxUnhealthy intInstance Percent 
- The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
- MaxUnhealthy intUpgraded Instance Percent 
- The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
- PauseTime stringBetween Batches 
- The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
- CrossZone boolUpgrades Enabled 
- Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are trueorfalse.
- MaximumSurge boolInstances Enabled 
- Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are - trueor- false.- Note: - overprovisionmust be set to- falsewhen- maximum_surge_instances_enabledis specified.
- PrioritizeUnhealthy boolInstances Enabled 
- Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are trueorfalse.
- maxBatch IntegerInstance Percent 
- The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
- maxUnhealthy IntegerInstance Percent 
- The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
- maxUnhealthy IntegerUpgraded Instance Percent 
- The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
- pauseTime StringBetween Batches 
- The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
- crossZone BooleanUpgrades Enabled 
- Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are trueorfalse.
- maximumSurge BooleanInstances Enabled 
- Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are - trueor- false.- Note: - overprovisionmust be set to- falsewhen- maximum_surge_instances_enabledis specified.
- prioritizeUnhealthy BooleanInstances Enabled 
- Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are trueorfalse.
- maxBatch numberInstance Percent 
- The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
- maxUnhealthy numberInstance Percent 
- The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
- maxUnhealthy numberUpgraded Instance Percent 
- The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
- pauseTime stringBetween Batches 
- The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
- crossZone booleanUpgrades Enabled 
- Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are trueorfalse.
- maximumSurge booleanInstances Enabled 
- Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are - trueor- false.- Note: - overprovisionmust be set to- falsewhen- maximum_surge_instances_enabledis specified.
- prioritizeUnhealthy booleanInstances Enabled 
- Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are trueorfalse.
- max_batch_ intinstance_ percent 
- The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
- max_unhealthy_ intinstance_ percent 
- The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
- max_unhealthy_ intupgraded_ instance_ percent 
- The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
- pause_time_ strbetween_ batches 
- The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
- cross_zone_ boolupgrades_ enabled 
- Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are trueorfalse.
- maximum_surge_ boolinstances_ enabled 
- Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are - trueor- false.- Note: - overprovisionmust be set to- falsewhen- maximum_surge_instances_enabledis specified.
- prioritize_unhealthy_ boolinstances_ enabled 
- Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are trueorfalse.
- maxBatch NumberInstance Percent 
- The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability.
- maxUnhealthy NumberInstance Percent 
- The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch.
- maxUnhealthy NumberUpgraded Instance Percent 
- The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts.
- pauseTime StringBetween Batches 
- The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
- crossZone BooleanUpgrades Enabled 
- Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are trueorfalse.
- maximumSurge BooleanInstances Enabled 
- Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are - trueor- false.- Note: - overprovisionmust be set to- falsewhen- maximum_surge_instances_enabledis specified.
- prioritizeUnhealthy BooleanInstances Enabled 
- Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are trueorfalse.
LinuxVirtualMachineScaleSetScaleIn, LinuxVirtualMachineScaleSetScaleInArgs              
- ForceDeletion boolEnabled 
- Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are trueorfalse. Defaults tofalse.
- Rule string
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default,NewestVMandOldestVM, defaults toDefault. For more information about scale in policy, please refer to this doc.
- ForceDeletion boolEnabled 
- Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are trueorfalse. Defaults tofalse.
- Rule string
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default,NewestVMandOldestVM, defaults toDefault. For more information about scale in policy, please refer to this doc.
- forceDeletion BooleanEnabled 
- Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are trueorfalse. Defaults tofalse.
- rule String
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default,NewestVMandOldestVM, defaults toDefault. For more information about scale in policy, please refer to this doc.
- forceDeletion booleanEnabled 
- Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are trueorfalse. Defaults tofalse.
- rule string
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default,NewestVMandOldestVM, defaults toDefault. For more information about scale in policy, please refer to this doc.
- force_deletion_ boolenabled 
- Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are trueorfalse. Defaults tofalse.
- rule str
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default,NewestVMandOldestVM, defaults toDefault. For more information about scale in policy, please refer to this doc.
- forceDeletion BooleanEnabled 
- Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are trueorfalse. Defaults tofalse.
- rule String
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default,NewestVMandOldestVM, defaults toDefault. For more information about scale in policy, please refer to this doc.
LinuxVirtualMachineScaleSetSecret, LinuxVirtualMachineScaleSetSecretArgs            
- Certificates
List<LinuxVirtual Machine Scale Set 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 Scale Set 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 Scale Set 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 Scale Set 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 Scale Set 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.
LinuxVirtualMachineScaleSetSecretCertificate, LinuxVirtualMachineScaleSetSecretCertificateArgs              
- Url string
- The Secret URL of a Key Vault Certificate. - Note: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.- Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure. 
- Url string
- The Secret URL of a Key Vault Certificate. - Note: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.- Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure. 
- url String
- The Secret URL of a Key Vault Certificate. - Note: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.- Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure. 
- url string
- The Secret URL of a Key Vault Certificate. - Note: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.- Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure. 
- url str
- The Secret URL of a Key Vault Certificate. - Note: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.- Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure. 
- url String
- The Secret URL of a Key Vault Certificate. - Note: This can be sourced from the - secret_idfield within the- azure.keyvault.CertificateResource.- Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure. 
LinuxVirtualMachineScaleSetSourceImageReference, LinuxVirtualMachineScaleSetSourceImageReferenceArgs                
- 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.
- Version string
- Specifies the version of the image used to create the virtual machines.
- 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.
- Version string
- Specifies the version of the image used to create the virtual machines.
- 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.
- version String
- Specifies the version of the image used to create the virtual machines.
- 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.
- version string
- Specifies the version of the image used to create the virtual machines.
- 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.
- version str
- Specifies the version of the image used to create the virtual machines.
- 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.
- version String
- Specifies the version of the image used to create the virtual machines.
LinuxVirtualMachineScaleSetSpotRestore, LinuxVirtualMachineScaleSetSpotRestoreArgs              
- Enabled bool
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are trueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- Timeout string
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15minutes and120minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H. Changing this forces a new resource to be created.
- Enabled bool
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are trueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- Timeout string
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15minutes and120minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H. Changing this forces a new resource to be created.
- enabled Boolean
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are trueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- timeout String
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15minutes and120minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H. Changing this forces a new resource to be created.
- enabled boolean
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are trueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- timeout string
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15minutes and120minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H. Changing this forces a new resource to be created.
- enabled bool
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are trueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- timeout str
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15minutes and120minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H. Changing this forces a new resource to be created.
- enabled Boolean
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are trueorfalse. Defaults tofalse. Changing this forces a new resource to be created.
- timeout String
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15minutes and120minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetTerminationNotification, LinuxVirtualMachineScaleSetTerminationNotificationArgs              
- Enabled bool
- Should the termination notification be enabled on this Virtual Machine Scale Set?
- Timeout string
- Length of time (in minutes, between 5 and 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 Scale Set?
- Timeout string
- Length of time (in minutes, between 5 and 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 Scale Set?
- timeout String
- Length of time (in minutes, between 5 and 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 Scale Set?
- timeout string
- Length of time (in minutes, between 5 and 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 Scale Set?
- timeout str
- Length of time (in minutes, between 5 and 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 Scale Set?
- timeout String
- Length of time (in minutes, between 5 and 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 Machine Scale Sets can be imported using the resource id, e.g.
$ pulumi import azure:compute/linuxVirtualMachineScaleSet:LinuxVirtualMachineScaleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1
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.