1. Packages
  2. Azure Classic
  3. API Docs
  4. compute
  5. WindowsVirtualMachineScaleSet

We recommend using Azure Native.

Azure Classic v6.2.0 published on Friday, Sep 27, 2024 by Pulumi

azure.compute.WindowsVirtualMachineScaleSet

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v6.2.0 published on Friday, Sep 27, 2024 by Pulumi

    Manages a Windows Virtual Machine Scale Set.

    Disclaimers

    Note: 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.

    Note: All arguments including the administrator login and password will be stored in the raw state as plain-text. Read more about sensitive data in state.

    Note: This provider will automatically update & reimage the nodes in the Scale Set (if Required) during an Update - this behaviour can be configured using the features setting within the Provider block.

    Note: This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the azure.compute.ScaleSet resource instead

    Example Usage

    This example provisions a basic Windows Virtual Machine Scale Set on an internal network.

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "example-resources",
        location: "West Europe",
    });
    const 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 exampleWindowsVirtualMachineScaleSet = new azure.compute.WindowsVirtualMachineScaleSet("example", {
        name: "example-vmss",
        resourceGroupName: example.name,
        location: example.location,
        sku: "Standard_F2",
        instances: 1,
        adminPassword: "P@55w0rd1234!",
        adminUsername: "adminuser",
        computerNamePrefix: "vm-",
        sourceImageReference: {
            publisher: "MicrosoftWindowsServer",
            offer: "WindowsServer",
            sku: "2016-Datacenter-Server-Core",
            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
    
    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_windows_virtual_machine_scale_set = azure.compute.WindowsVirtualMachineScaleSet("example",
        name="example-vmss",
        resource_group_name=example.name,
        location=example.location,
        sku="Standard_F2",
        instances=1,
        admin_password="P@55w0rd1234!",
        admin_username="adminuser",
        computer_name_prefix="vm-",
        source_image_reference={
            "publisher": "MicrosoftWindowsServer",
            "offer": "WindowsServer",
            "sku": "2016-Datacenter-Server-Core",
            "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 {
    		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.NewWindowsVirtualMachineScaleSet(ctx, "example", &compute.WindowsVirtualMachineScaleSetArgs{
    			Name:               pulumi.String("example-vmss"),
    			ResourceGroupName:  example.Name,
    			Location:           example.Location,
    			Sku:                pulumi.String("Standard_F2"),
    			Instances:          pulumi.Int(1),
    			AdminPassword:      pulumi.String("P@55w0rd1234!"),
    			AdminUsername:      pulumi.String("adminuser"),
    			ComputerNamePrefix: pulumi.String("vm-"),
    			SourceImageReference: &compute.WindowsVirtualMachineScaleSetSourceImageReferenceArgs{
    				Publisher: pulumi.String("MicrosoftWindowsServer"),
    				Offer:     pulumi.String("WindowsServer"),
    				Sku:       pulumi.String("2016-Datacenter-Server-Core"),
    				Version:   pulumi.String("latest"),
    			},
    			OsDisk: &compute.WindowsVirtualMachineScaleSetOsDiskArgs{
    				StorageAccountType: pulumi.String("Standard_LRS"),
    				Caching:            pulumi.String("ReadWrite"),
    			},
    			NetworkInterfaces: compute.WindowsVirtualMachineScaleSetNetworkInterfaceArray{
    				&compute.WindowsVirtualMachineScaleSetNetworkInterfaceArgs{
    					Name:    pulumi.String("example"),
    					Primary: pulumi.Bool(true),
    					IpConfigurations: compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
    						&compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
    							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 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 exampleWindowsVirtualMachineScaleSet = new Azure.Compute.WindowsVirtualMachineScaleSet("example", new()
        {
            Name = "example-vmss",
            ResourceGroupName = example.Name,
            Location = example.Location,
            Sku = "Standard_F2",
            Instances = 1,
            AdminPassword = "P@55w0rd1234!",
            AdminUsername = "adminuser",
            ComputerNamePrefix = "vm-",
            SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSourceImageReferenceArgs
            {
                Publisher = "MicrosoftWindowsServer",
                Offer = "WindowsServer",
                Sku = "2016-Datacenter-Server-Core",
                Version = "latest",
            },
            OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetOsDiskArgs
            {
                StorageAccountType = "Standard_LRS",
                Caching = "ReadWrite",
            },
            NetworkInterfaces = new[]
            {
                new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs
                {
                    Name = "example",
                    Primary = true,
                    IpConfigurations = new[]
                    {
                        new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
                        {
                            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.WindowsVirtualMachineScaleSet;
    import com.pulumi.azure.compute.WindowsVirtualMachineScaleSetArgs;
    import com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetSourceImageReferenceArgs;
    import com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetOsDiskArgs;
    import com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()
                .name("example-resources")
                .location("West Europe")
                .build());
    
            var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
                .name("example-network")
                .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 exampleWindowsVirtualMachineScaleSet = new WindowsVirtualMachineScaleSet("exampleWindowsVirtualMachineScaleSet", WindowsVirtualMachineScaleSetArgs.builder()
                .name("example-vmss")
                .resourceGroupName(example.name())
                .location(example.location())
                .sku("Standard_F2")
                .instances(1)
                .adminPassword("P@55w0rd1234!")
                .adminUsername("adminuser")
                .computerNamePrefix("vm-")
                .sourceImageReference(WindowsVirtualMachineScaleSetSourceImageReferenceArgs.builder()
                    .publisher("MicrosoftWindowsServer")
                    .offer("WindowsServer")
                    .sku("2016-Datacenter-Server-Core")
                    .version("latest")
                    .build())
                .osDisk(WindowsVirtualMachineScaleSetOsDiskArgs.builder()
                    .storageAccountType("Standard_LRS")
                    .caching("ReadWrite")
                    .build())
                .networkInterfaces(WindowsVirtualMachineScaleSetNetworkInterfaceArgs.builder()
                    .name("example")
                    .primary(true)
                    .ipConfigurations(WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.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
      exampleWindowsVirtualMachineScaleSet:
        type: azure:compute:WindowsVirtualMachineScaleSet
        name: example
        properties:
          name: example-vmss
          resourceGroupName: ${example.name}
          location: ${example.location}
          sku: Standard_F2
          instances: 1
          adminPassword: P@55w0rd1234!
          adminUsername: adminuser
          computerNamePrefix: vm-
          sourceImageReference:
            publisher: MicrosoftWindowsServer
            offer: WindowsServer
            sku: 2016-Datacenter-Server-Core
            version: latest
          osDisk:
            storageAccountType: Standard_LRS
            caching: ReadWrite
          networkInterfaces:
            - name: example
              primary: true
              ipConfigurations:
                - name: internal
                  primary: true
                  subnetId: ${internal.id}
    

    Create WindowsVirtualMachineScaleSet Resource

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

    Constructor syntax

    new WindowsVirtualMachineScaleSet(name: string, args: WindowsVirtualMachineScaleSetArgs, opts?: CustomResourceOptions);
    @overload
    def WindowsVirtualMachineScaleSet(resource_name: str,
                                      args: WindowsVirtualMachineScaleSetArgs,
                                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def WindowsVirtualMachineScaleSet(resource_name: str,
                                      opts: Optional[ResourceOptions] = None,
                                      admin_password: Optional[str] = None,
                                      admin_username: Optional[str] = None,
                                      instances: Optional[int] = None,
                                      network_interfaces: Optional[Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
                                      os_disk: Optional[WindowsVirtualMachineScaleSetOsDiskArgs] = None,
                                      sku: Optional[str] = None,
                                      resource_group_name: Optional[str] = None,
                                      license_type: Optional[str] = None,
                                      overprovision: Optional[bool] = None,
                                      boot_diagnostics: Optional[WindowsVirtualMachineScaleSetBootDiagnosticsArgs] = None,
                                      capacity_reservation_group_id: Optional[str] = None,
                                      computer_name_prefix: Optional[str] = None,
                                      custom_data: Optional[str] = None,
                                      data_disks: Optional[Sequence[WindowsVirtualMachineScaleSetDataDiskArgs]] = None,
                                      do_not_run_extensions_on_overprovisioned_machines: Optional[bool] = None,
                                      edge_zone: Optional[str] = None,
                                      enable_automatic_updates: Optional[bool] = None,
                                      encryption_at_host_enabled: Optional[bool] = None,
                                      eviction_policy: Optional[str] = None,
                                      extension_operations_enabled: Optional[bool] = None,
                                      extensions: Optional[Sequence[WindowsVirtualMachineScaleSetExtensionArgs]] = None,
                                      extensions_time_budget: Optional[str] = None,
                                      gallery_applications: Optional[Sequence[WindowsVirtualMachineScaleSetGalleryApplicationArgs]] = None,
                                      health_probe_id: Optional[str] = None,
                                      host_group_id: Optional[str] = None,
                                      identity: Optional[WindowsVirtualMachineScaleSetIdentityArgs] = None,
                                      automatic_instance_repair: Optional[WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
                                      location: Optional[str] = None,
                                      max_bid_price: Optional[float] = None,
                                      name: Optional[str] = None,
                                      automatic_os_upgrade_policy: Optional[WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs] = None,
                                      plan: Optional[WindowsVirtualMachineScaleSetPlanArgs] = 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,
                                      additional_unattend_contents: Optional[Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]] = None,
                                      rolling_upgrade_policy: Optional[WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs] = None,
                                      scale_in: Optional[WindowsVirtualMachineScaleSetScaleInArgs] = None,
                                      secrets: Optional[Sequence[WindowsVirtualMachineScaleSetSecretArgs]] = None,
                                      secure_boot_enabled: Optional[bool] = None,
                                      single_placement_group: Optional[bool] = None,
                                      additional_capabilities: Optional[WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
                                      source_image_id: Optional[str] = None,
                                      source_image_reference: Optional[WindowsVirtualMachineScaleSetSourceImageReferenceArgs] = None,
                                      spot_restore: Optional[WindowsVirtualMachineScaleSetSpotRestoreArgs] = None,
                                      tags: Optional[Mapping[str, str]] = None,
                                      termination_notification: Optional[WindowsVirtualMachineScaleSetTerminationNotificationArgs] = None,
                                      timezone: Optional[str] = None,
                                      upgrade_mode: Optional[str] = None,
                                      user_data: Optional[str] = None,
                                      vtpm_enabled: Optional[bool] = None,
                                      winrm_listeners: Optional[Sequence[WindowsVirtualMachineScaleSetWinrmListenerArgs]] = None,
                                      zone_balance: Optional[bool] = None,
                                      zones: Optional[Sequence[str]] = None)
    func NewWindowsVirtualMachineScaleSet(ctx *Context, name string, args WindowsVirtualMachineScaleSetArgs, opts ...ResourceOption) (*WindowsVirtualMachineScaleSet, error)
    public WindowsVirtualMachineScaleSet(string name, WindowsVirtualMachineScaleSetArgs args, CustomResourceOptions? opts = null)
    public WindowsVirtualMachineScaleSet(String name, WindowsVirtualMachineScaleSetArgs args)
    public WindowsVirtualMachineScaleSet(String name, WindowsVirtualMachineScaleSetArgs args, CustomResourceOptions options)
    
    type: azure:compute:WindowsVirtualMachineScaleSet
    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 WindowsVirtualMachineScaleSetArgs
    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 WindowsVirtualMachineScaleSetArgs
    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 WindowsVirtualMachineScaleSetArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args WindowsVirtualMachineScaleSetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args WindowsVirtualMachineScaleSetArgs
    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 windowsVirtualMachineScaleSetResource = new Azure.Compute.WindowsVirtualMachineScaleSet("windowsVirtualMachineScaleSetResource", new()
    {
        AdminPassword = "string",
        AdminUsername = "string",
        Instances = 0,
        NetworkInterfaces = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs
            {
                IpConfigurations = new[]
                {
                    new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
                    {
                        Name = "string",
                        ApplicationGatewayBackendAddressPoolIds = new[]
                        {
                            "string",
                        },
                        ApplicationSecurityGroupIds = new[]
                        {
                            "string",
                        },
                        LoadBalancerBackendAddressPoolIds = new[]
                        {
                            "string",
                        },
                        LoadBalancerInboundNatRulesIds = new[]
                        {
                            "string",
                        },
                        Primary = false,
                        PublicIpAddresses = new[]
                        {
                            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs
                            {
                                Name = "string",
                                DomainNameLabel = "string",
                                IdleTimeoutInMinutes = 0,
                                IpTags = new[]
                                {
                                    new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs
                                    {
                                        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,
            },
        },
        OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetOsDiskArgs
        {
            Caching = "string",
            StorageAccountType = "string",
            DiffDiskSettings = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs
            {
                Option = "string",
                Placement = "string",
            },
            DiskEncryptionSetId = "string",
            DiskSizeGb = 0,
            SecureVmDiskEncryptionSetId = "string",
            SecurityEncryptionType = "string",
            WriteAcceleratorEnabled = false,
        },
        Sku = "string",
        ResourceGroupName = "string",
        LicenseType = "string",
        Overprovision = false,
        BootDiagnostics = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetBootDiagnosticsArgs
        {
            StorageAccountUri = "string",
        },
        CapacityReservationGroupId = "string",
        ComputerNamePrefix = "string",
        CustomData = "string",
        DataDisks = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetDataDiskArgs
            {
                Caching = "string",
                DiskSizeGb = 0,
                Lun = 0,
                StorageAccountType = "string",
                CreateOption = "string",
                DiskEncryptionSetId = "string",
                Name = "string",
                UltraSsdDiskIopsReadWrite = 0,
                UltraSsdDiskMbpsReadWrite = 0,
                WriteAcceleratorEnabled = false,
            },
        },
        DoNotRunExtensionsOnOverprovisionedMachines = false,
        EdgeZone = "string",
        EnableAutomaticUpdates = false,
        EncryptionAtHostEnabled = false,
        EvictionPolicy = "string",
        ExtensionOperationsEnabled = false,
        Extensions = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetExtensionArgs
            {
                Name = "string",
                Publisher = "string",
                Type = "string",
                TypeHandlerVersion = "string",
                AutoUpgradeMinorVersion = false,
                AutomaticUpgradeEnabled = false,
                ForceUpdateTag = "string",
                ProtectedSettings = "string",
                ProtectedSettingsFromKeyVault = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs
                {
                    SecretUrl = "string",
                    SourceVaultId = "string",
                },
                ProvisionAfterExtensions = new[]
                {
                    "string",
                },
                Settings = "string",
            },
        },
        ExtensionsTimeBudget = "string",
        GalleryApplications = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetGalleryApplicationArgs
            {
                VersionId = "string",
                ConfigurationBlobUri = "string",
                Order = 0,
                Tag = "string",
            },
        },
        HealthProbeId = "string",
        HostGroupId = "string",
        Identity = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetIdentityArgs
        {
            Type = "string",
            IdentityIds = new[]
            {
                "string",
            },
            PrincipalId = "string",
            TenantId = "string",
        },
        AutomaticInstanceRepair = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs
        {
            Enabled = false,
            Action = "string",
            GracePeriod = "string",
        },
        Location = "string",
        MaxBidPrice = 0,
        Name = "string",
        AutomaticOsUpgradePolicy = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
        {
            DisableAutomaticRollback = false,
            EnableAutomaticOsUpgrade = false,
        },
        Plan = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetPlanArgs
        {
            Name = "string",
            Product = "string",
            Publisher = "string",
        },
        PlatformFaultDomainCount = 0,
        Priority = "string",
        ProvisionVmAgent = false,
        ProximityPlacementGroupId = "string",
        AdditionalUnattendContents = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs
            {
                Content = "string",
                Setting = "string",
            },
        },
        RollingUpgradePolicy = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
        {
            MaxBatchInstancePercent = 0,
            MaxUnhealthyInstancePercent = 0,
            MaxUnhealthyUpgradedInstancePercent = 0,
            PauseTimeBetweenBatches = "string",
            CrossZoneUpgradesEnabled = false,
            MaximumSurgeInstancesEnabled = false,
            PrioritizeUnhealthyInstancesEnabled = false,
        },
        ScaleIn = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetScaleInArgs
        {
            ForceDeletionEnabled = false,
            Rule = "string",
        },
        Secrets = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSecretArgs
            {
                Certificates = new[]
                {
                    new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSecretCertificateArgs
                    {
                        Store = "string",
                        Url = "string",
                    },
                },
                KeyVaultId = "string",
            },
        },
        SecureBootEnabled = false,
        SinglePlacementGroup = false,
        AdditionalCapabilities = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
        {
            UltraSsdEnabled = false,
        },
        SourceImageId = "string",
        SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSourceImageReferenceArgs
        {
            Offer = "string",
            Publisher = "string",
            Sku = "string",
            Version = "string",
        },
        SpotRestore = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSpotRestoreArgs
        {
            Enabled = false,
            Timeout = "string",
        },
        Tags = 
        {
            { "string", "string" },
        },
        TerminationNotification = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetTerminationNotificationArgs
        {
            Enabled = false,
            Timeout = "string",
        },
        Timezone = "string",
        UpgradeMode = "string",
        UserData = "string",
        VtpmEnabled = false,
        WinrmListeners = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetWinrmListenerArgs
            {
                Protocol = "string",
                CertificateUrl = "string",
            },
        },
        ZoneBalance = false,
        Zones = new[]
        {
            "string",
        },
    });
    
    example, err := compute.NewWindowsVirtualMachineScaleSet(ctx, "windowsVirtualMachineScaleSetResource", &compute.WindowsVirtualMachineScaleSetArgs{
    	AdminPassword: pulumi.String("string"),
    	AdminUsername: pulumi.String("string"),
    	Instances:     pulumi.Int(0),
    	NetworkInterfaces: compute.WindowsVirtualMachineScaleSetNetworkInterfaceArray{
    		&compute.WindowsVirtualMachineScaleSetNetworkInterfaceArgs{
    			IpConfigurations: compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
    				&compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
    					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.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArray{
    						&compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs{
    							Name:                 pulumi.String("string"),
    							DomainNameLabel:      pulumi.String("string"),
    							IdleTimeoutInMinutes: pulumi.Int(0),
    							IpTags: compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArray{
    								&compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs{
    									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),
    		},
    	},
    	OsDisk: &compute.WindowsVirtualMachineScaleSetOsDiskArgs{
    		Caching:            pulumi.String("string"),
    		StorageAccountType: pulumi.String("string"),
    		DiffDiskSettings: &compute.WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs{
    			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),
    	},
    	Sku:               pulumi.String("string"),
    	ResourceGroupName: pulumi.String("string"),
    	LicenseType:       pulumi.String("string"),
    	Overprovision:     pulumi.Bool(false),
    	BootDiagnostics: &compute.WindowsVirtualMachineScaleSetBootDiagnosticsArgs{
    		StorageAccountUri: pulumi.String("string"),
    	},
    	CapacityReservationGroupId: pulumi.String("string"),
    	ComputerNamePrefix:         pulumi.String("string"),
    	CustomData:                 pulumi.String("string"),
    	DataDisks: compute.WindowsVirtualMachineScaleSetDataDiskArray{
    		&compute.WindowsVirtualMachineScaleSetDataDiskArgs{
    			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),
    		},
    	},
    	DoNotRunExtensionsOnOverprovisionedMachines: pulumi.Bool(false),
    	EdgeZone:                   pulumi.String("string"),
    	EnableAutomaticUpdates:     pulumi.Bool(false),
    	EncryptionAtHostEnabled:    pulumi.Bool(false),
    	EvictionPolicy:             pulumi.String("string"),
    	ExtensionOperationsEnabled: pulumi.Bool(false),
    	Extensions: compute.WindowsVirtualMachineScaleSetExtensionArray{
    		&compute.WindowsVirtualMachineScaleSetExtensionArgs{
    			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.WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs{
    				SecretUrl:     pulumi.String("string"),
    				SourceVaultId: pulumi.String("string"),
    			},
    			ProvisionAfterExtensions: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Settings: pulumi.String("string"),
    		},
    	},
    	ExtensionsTimeBudget: pulumi.String("string"),
    	GalleryApplications: compute.WindowsVirtualMachineScaleSetGalleryApplicationArray{
    		&compute.WindowsVirtualMachineScaleSetGalleryApplicationArgs{
    			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.WindowsVirtualMachineScaleSetIdentityArgs{
    		Type: pulumi.String("string"),
    		IdentityIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		PrincipalId: pulumi.String("string"),
    		TenantId:    pulumi.String("string"),
    	},
    	AutomaticInstanceRepair: &compute.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs{
    		Enabled:     pulumi.Bool(false),
    		Action:      pulumi.String("string"),
    		GracePeriod: pulumi.String("string"),
    	},
    	Location:    pulumi.String("string"),
    	MaxBidPrice: pulumi.Float64(0),
    	Name:        pulumi.String("string"),
    	AutomaticOsUpgradePolicy: &compute.WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs{
    		DisableAutomaticRollback: pulumi.Bool(false),
    		EnableAutomaticOsUpgrade: pulumi.Bool(false),
    	},
    	Plan: &compute.WindowsVirtualMachineScaleSetPlanArgs{
    		Name:      pulumi.String("string"),
    		Product:   pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    	},
    	PlatformFaultDomainCount:  pulumi.Int(0),
    	Priority:                  pulumi.String("string"),
    	ProvisionVmAgent:          pulumi.Bool(false),
    	ProximityPlacementGroupId: pulumi.String("string"),
    	AdditionalUnattendContents: compute.WindowsVirtualMachineScaleSetAdditionalUnattendContentArray{
    		&compute.WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs{
    			Content: pulumi.String("string"),
    			Setting: pulumi.String("string"),
    		},
    	},
    	RollingUpgradePolicy: &compute.WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs{
    		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.WindowsVirtualMachineScaleSetScaleInArgs{
    		ForceDeletionEnabled: pulumi.Bool(false),
    		Rule:                 pulumi.String("string"),
    	},
    	Secrets: compute.WindowsVirtualMachineScaleSetSecretArray{
    		&compute.WindowsVirtualMachineScaleSetSecretArgs{
    			Certificates: compute.WindowsVirtualMachineScaleSetSecretCertificateArray{
    				&compute.WindowsVirtualMachineScaleSetSecretCertificateArgs{
    					Store: pulumi.String("string"),
    					Url:   pulumi.String("string"),
    				},
    			},
    			KeyVaultId: pulumi.String("string"),
    		},
    	},
    	SecureBootEnabled:    pulumi.Bool(false),
    	SinglePlacementGroup: pulumi.Bool(false),
    	AdditionalCapabilities: &compute.WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs{
    		UltraSsdEnabled: pulumi.Bool(false),
    	},
    	SourceImageId: pulumi.String("string"),
    	SourceImageReference: &compute.WindowsVirtualMachineScaleSetSourceImageReferenceArgs{
    		Offer:     pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    		Sku:       pulumi.String("string"),
    		Version:   pulumi.String("string"),
    	},
    	SpotRestore: &compute.WindowsVirtualMachineScaleSetSpotRestoreArgs{
    		Enabled: pulumi.Bool(false),
    		Timeout: pulumi.String("string"),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	TerminationNotification: &compute.WindowsVirtualMachineScaleSetTerminationNotificationArgs{
    		Enabled: pulumi.Bool(false),
    		Timeout: pulumi.String("string"),
    	},
    	Timezone:    pulumi.String("string"),
    	UpgradeMode: pulumi.String("string"),
    	UserData:    pulumi.String("string"),
    	VtpmEnabled: pulumi.Bool(false),
    	WinrmListeners: compute.WindowsVirtualMachineScaleSetWinrmListenerArray{
    		&compute.WindowsVirtualMachineScaleSetWinrmListenerArgs{
    			Protocol:       pulumi.String("string"),
    			CertificateUrl: pulumi.String("string"),
    		},
    	},
    	ZoneBalance: pulumi.Bool(false),
    	Zones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var windowsVirtualMachineScaleSetResource = new WindowsVirtualMachineScaleSet("windowsVirtualMachineScaleSetResource", WindowsVirtualMachineScaleSetArgs.builder()
        .adminPassword("string")
        .adminUsername("string")
        .instances(0)
        .networkInterfaces(WindowsVirtualMachineScaleSetNetworkInterfaceArgs.builder()
            .ipConfigurations(WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
                .name("string")
                .applicationGatewayBackendAddressPoolIds("string")
                .applicationSecurityGroupIds("string")
                .loadBalancerBackendAddressPoolIds("string")
                .loadBalancerInboundNatRulesIds("string")
                .primary(false)
                .publicIpAddresses(WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs.builder()
                    .name("string")
                    .domainNameLabel("string")
                    .idleTimeoutInMinutes(0)
                    .ipTags(WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs.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())
        .osDisk(WindowsVirtualMachineScaleSetOsDiskArgs.builder()
            .caching("string")
            .storageAccountType("string")
            .diffDiskSettings(WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs.builder()
                .option("string")
                .placement("string")
                .build())
            .diskEncryptionSetId("string")
            .diskSizeGb(0)
            .secureVmDiskEncryptionSetId("string")
            .securityEncryptionType("string")
            .writeAcceleratorEnabled(false)
            .build())
        .sku("string")
        .resourceGroupName("string")
        .licenseType("string")
        .overprovision(false)
        .bootDiagnostics(WindowsVirtualMachineScaleSetBootDiagnosticsArgs.builder()
            .storageAccountUri("string")
            .build())
        .capacityReservationGroupId("string")
        .computerNamePrefix("string")
        .customData("string")
        .dataDisks(WindowsVirtualMachineScaleSetDataDiskArgs.builder()
            .caching("string")
            .diskSizeGb(0)
            .lun(0)
            .storageAccountType("string")
            .createOption("string")
            .diskEncryptionSetId("string")
            .name("string")
            .ultraSsdDiskIopsReadWrite(0)
            .ultraSsdDiskMbpsReadWrite(0)
            .writeAcceleratorEnabled(false)
            .build())
        .doNotRunExtensionsOnOverprovisionedMachines(false)
        .edgeZone("string")
        .enableAutomaticUpdates(false)
        .encryptionAtHostEnabled(false)
        .evictionPolicy("string")
        .extensionOperationsEnabled(false)
        .extensions(WindowsVirtualMachineScaleSetExtensionArgs.builder()
            .name("string")
            .publisher("string")
            .type("string")
            .typeHandlerVersion("string")
            .autoUpgradeMinorVersion(false)
            .automaticUpgradeEnabled(false)
            .forceUpdateTag("string")
            .protectedSettings("string")
            .protectedSettingsFromKeyVault(WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs.builder()
                .secretUrl("string")
                .sourceVaultId("string")
                .build())
            .provisionAfterExtensions("string")
            .settings("string")
            .build())
        .extensionsTimeBudget("string")
        .galleryApplications(WindowsVirtualMachineScaleSetGalleryApplicationArgs.builder()
            .versionId("string")
            .configurationBlobUri("string")
            .order(0)
            .tag("string")
            .build())
        .healthProbeId("string")
        .hostGroupId("string")
        .identity(WindowsVirtualMachineScaleSetIdentityArgs.builder()
            .type("string")
            .identityIds("string")
            .principalId("string")
            .tenantId("string")
            .build())
        .automaticInstanceRepair(WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs.builder()
            .enabled(false)
            .action("string")
            .gracePeriod("string")
            .build())
        .location("string")
        .maxBidPrice(0)
        .name("string")
        .automaticOsUpgradePolicy(WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs.builder()
            .disableAutomaticRollback(false)
            .enableAutomaticOsUpgrade(false)
            .build())
        .plan(WindowsVirtualMachineScaleSetPlanArgs.builder()
            .name("string")
            .product("string")
            .publisher("string")
            .build())
        .platformFaultDomainCount(0)
        .priority("string")
        .provisionVmAgent(false)
        .proximityPlacementGroupId("string")
        .additionalUnattendContents(WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs.builder()
            .content("string")
            .setting("string")
            .build())
        .rollingUpgradePolicy(WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.builder()
            .maxBatchInstancePercent(0)
            .maxUnhealthyInstancePercent(0)
            .maxUnhealthyUpgradedInstancePercent(0)
            .pauseTimeBetweenBatches("string")
            .crossZoneUpgradesEnabled(false)
            .maximumSurgeInstancesEnabled(false)
            .prioritizeUnhealthyInstancesEnabled(false)
            .build())
        .scaleIn(WindowsVirtualMachineScaleSetScaleInArgs.builder()
            .forceDeletionEnabled(false)
            .rule("string")
            .build())
        .secrets(WindowsVirtualMachineScaleSetSecretArgs.builder()
            .certificates(WindowsVirtualMachineScaleSetSecretCertificateArgs.builder()
                .store("string")
                .url("string")
                .build())
            .keyVaultId("string")
            .build())
        .secureBootEnabled(false)
        .singlePlacementGroup(false)
        .additionalCapabilities(WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs.builder()
            .ultraSsdEnabled(false)
            .build())
        .sourceImageId("string")
        .sourceImageReference(WindowsVirtualMachineScaleSetSourceImageReferenceArgs.builder()
            .offer("string")
            .publisher("string")
            .sku("string")
            .version("string")
            .build())
        .spotRestore(WindowsVirtualMachineScaleSetSpotRestoreArgs.builder()
            .enabled(false)
            .timeout("string")
            .build())
        .tags(Map.of("string", "string"))
        .terminationNotification(WindowsVirtualMachineScaleSetTerminationNotificationArgs.builder()
            .enabled(false)
            .timeout("string")
            .build())
        .timezone("string")
        .upgradeMode("string")
        .userData("string")
        .vtpmEnabled(false)
        .winrmListeners(WindowsVirtualMachineScaleSetWinrmListenerArgs.builder()
            .protocol("string")
            .certificateUrl("string")
            .build())
        .zoneBalance(false)
        .zones("string")
        .build());
    
    windows_virtual_machine_scale_set_resource = azure.compute.WindowsVirtualMachineScaleSet("windowsVirtualMachineScaleSetResource",
        admin_password="string",
        admin_username="string",
        instances=0,
        network_interfaces=[{
            "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,
        }],
        os_disk={
            "caching": "string",
            "storageAccountType": "string",
            "diffDiskSettings": {
                "option": "string",
                "placement": "string",
            },
            "diskEncryptionSetId": "string",
            "diskSizeGb": 0,
            "secureVmDiskEncryptionSetId": "string",
            "securityEncryptionType": "string",
            "writeAcceleratorEnabled": False,
        },
        sku="string",
        resource_group_name="string",
        license_type="string",
        overprovision=False,
        boot_diagnostics={
            "storageAccountUri": "string",
        },
        capacity_reservation_group_id="string",
        computer_name_prefix="string",
        custom_data="string",
        data_disks=[{
            "caching": "string",
            "diskSizeGb": 0,
            "lun": 0,
            "storageAccountType": "string",
            "createOption": "string",
            "diskEncryptionSetId": "string",
            "name": "string",
            "ultraSsdDiskIopsReadWrite": 0,
            "ultraSsdDiskMbpsReadWrite": 0,
            "writeAcceleratorEnabled": False,
        }],
        do_not_run_extensions_on_overprovisioned_machines=False,
        edge_zone="string",
        enable_automatic_updates=False,
        encryption_at_host_enabled=False,
        eviction_policy="string",
        extension_operations_enabled=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",
        }],
        extensions_time_budget="string",
        gallery_applications=[{
            "versionId": "string",
            "configurationBlobUri": "string",
            "order": 0,
            "tag": "string",
        }],
        health_probe_id="string",
        host_group_id="string",
        identity={
            "type": "string",
            "identityIds": ["string"],
            "principalId": "string",
            "tenantId": "string",
        },
        automatic_instance_repair={
            "enabled": False,
            "action": "string",
            "gracePeriod": "string",
        },
        location="string",
        max_bid_price=0,
        name="string",
        automatic_os_upgrade_policy={
            "disableAutomaticRollback": False,
            "enableAutomaticOsUpgrade": False,
        },
        plan={
            "name": "string",
            "product": "string",
            "publisher": "string",
        },
        platform_fault_domain_count=0,
        priority="string",
        provision_vm_agent=False,
        proximity_placement_group_id="string",
        additional_unattend_contents=[{
            "content": "string",
            "setting": "string",
        }],
        rolling_upgrade_policy={
            "maxBatchInstancePercent": 0,
            "maxUnhealthyInstancePercent": 0,
            "maxUnhealthyUpgradedInstancePercent": 0,
            "pauseTimeBetweenBatches": "string",
            "crossZoneUpgradesEnabled": False,
            "maximumSurgeInstancesEnabled": False,
            "prioritizeUnhealthyInstancesEnabled": False,
        },
        scale_in={
            "forceDeletionEnabled": False,
            "rule": "string",
        },
        secrets=[{
            "certificates": [{
                "store": "string",
                "url": "string",
            }],
            "keyVaultId": "string",
        }],
        secure_boot_enabled=False,
        single_placement_group=False,
        additional_capabilities={
            "ultraSsdEnabled": False,
        },
        source_image_id="string",
        source_image_reference={
            "offer": "string",
            "publisher": "string",
            "sku": "string",
            "version": "string",
        },
        spot_restore={
            "enabled": False,
            "timeout": "string",
        },
        tags={
            "string": "string",
        },
        termination_notification={
            "enabled": False,
            "timeout": "string",
        },
        timezone="string",
        upgrade_mode="string",
        user_data="string",
        vtpm_enabled=False,
        winrm_listeners=[{
            "protocol": "string",
            "certificateUrl": "string",
        }],
        zone_balance=False,
        zones=["string"])
    
    const windowsVirtualMachineScaleSetResource = new azure.compute.WindowsVirtualMachineScaleSet("windowsVirtualMachineScaleSetResource", {
        adminPassword: "string",
        adminUsername: "string",
        instances: 0,
        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,
        }],
        osDisk: {
            caching: "string",
            storageAccountType: "string",
            diffDiskSettings: {
                option: "string",
                placement: "string",
            },
            diskEncryptionSetId: "string",
            diskSizeGb: 0,
            secureVmDiskEncryptionSetId: "string",
            securityEncryptionType: "string",
            writeAcceleratorEnabled: false,
        },
        sku: "string",
        resourceGroupName: "string",
        licenseType: "string",
        overprovision: false,
        bootDiagnostics: {
            storageAccountUri: "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,
        }],
        doNotRunExtensionsOnOverprovisionedMachines: false,
        edgeZone: "string",
        enableAutomaticUpdates: false,
        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",
        },
        automaticInstanceRepair: {
            enabled: false,
            action: "string",
            gracePeriod: "string",
        },
        location: "string",
        maxBidPrice: 0,
        name: "string",
        automaticOsUpgradePolicy: {
            disableAutomaticRollback: false,
            enableAutomaticOsUpgrade: false,
        },
        plan: {
            name: "string",
            product: "string",
            publisher: "string",
        },
        platformFaultDomainCount: 0,
        priority: "string",
        provisionVmAgent: false,
        proximityPlacementGroupId: "string",
        additionalUnattendContents: [{
            content: "string",
            setting: "string",
        }],
        rollingUpgradePolicy: {
            maxBatchInstancePercent: 0,
            maxUnhealthyInstancePercent: 0,
            maxUnhealthyUpgradedInstancePercent: 0,
            pauseTimeBetweenBatches: "string",
            crossZoneUpgradesEnabled: false,
            maximumSurgeInstancesEnabled: false,
            prioritizeUnhealthyInstancesEnabled: false,
        },
        scaleIn: {
            forceDeletionEnabled: false,
            rule: "string",
        },
        secrets: [{
            certificates: [{
                store: "string",
                url: "string",
            }],
            keyVaultId: "string",
        }],
        secureBootEnabled: false,
        singlePlacementGroup: false,
        additionalCapabilities: {
            ultraSsdEnabled: false,
        },
        sourceImageId: "string",
        sourceImageReference: {
            offer: "string",
            publisher: "string",
            sku: "string",
            version: "string",
        },
        spotRestore: {
            enabled: false,
            timeout: "string",
        },
        tags: {
            string: "string",
        },
        terminationNotification: {
            enabled: false,
            timeout: "string",
        },
        timezone: "string",
        upgradeMode: "string",
        userData: "string",
        vtpmEnabled: false,
        winrmListeners: [{
            protocol: "string",
            certificateUrl: "string",
        }],
        zoneBalance: false,
        zones: ["string"],
    });
    
    type: azure:compute:WindowsVirtualMachineScaleSet
    properties:
        additionalCapabilities:
            ultraSsdEnabled: false
        additionalUnattendContents:
            - content: string
              setting: string
        adminPassword: 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
        doNotRunExtensionsOnOverprovisionedMachines: false
        edgeZone: string
        enableAutomaticUpdates: false
        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
        licenseType: string
        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:
                - store: string
                  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
        timezone: string
        upgradeMode: string
        userData: string
        vtpmEnabled: false
        winrmListeners:
            - certificateUrl: string
              protocol: string
        zoneBalance: false
        zones:
            - string
    

    WindowsVirtualMachineScaleSet Resource Properties

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

    Inputs

    The WindowsVirtualMachineScaleSet resource accepts the following input properties:

    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.
    AdminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    Instances int

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    NetworkInterfaces List<WindowsVirtualMachineScaleSetNetworkInterface>
    One or more network_interface blocks as defined below.
    OsDisk WindowsVirtualMachineScaleSetOsDisk
    An os_disk block as defined below.
    ResourceGroupName string
    The name of the Resource Group in which the Windows 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 WindowsVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    AdditionalUnattendContents List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    AutomaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    AutomaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    BootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    CapacityReservationGroupId string

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    ComputerNamePrefix string
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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<WindowsVirtualMachineScaleSetDataDisk>
    One or more data_disk blocks as defined below.
    DoNotRunExtensionsOnOverprovisionedMachines bool
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    EnableAutomaticUpdates bool
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    EncryptionAtHostEnabled bool
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    ExtensionOperationsEnabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    Extensions List<WindowsVirtualMachineScaleSetExtension>
    One or more extension blocks as defined below
    ExtensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    GalleryApplications List<WindowsVirtualMachineScaleSetGalleryApplication>
    One or more gallery_application blocks as defined below.
    HealthProbeId string
    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_mode is set to Automatic or Rolling.
    HostGroupId string
    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 WindowsVirtualMachineScaleSetIdentity
    An identity block as defined below.
    LicenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    Location string
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    MaxBidPrice double

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    Name string
    The name of the Windows 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 WindowsVirtualMachineScaleSetPlan

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    PlatformFaultDomainCount int
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    ProvisionVmAgent bool
    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.
    ProximityPlacementGroupId string
    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.
    RollingUpgradePolicy WindowsVirtualMachineScaleSetRollingUpgradePolicy
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    ScaleIn WindowsVirtualMachineScaleSetScaleIn
    A scale_in block as defined below.
    Secrets List<WindowsVirtualMachineScaleSetSecret>
    One or more secret blocks as defined below.
    SecureBootEnabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    SinglePlacementGroup bool
    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.
    SourceImageId string

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    SourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    SpotRestore WindowsVirtualMachineScaleSetSpotRestore
    A spot_restore block as defined below.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminationNotification WindowsVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    Timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    UpgradeMode string
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    VtpmEnabled bool
    Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    WinrmListeners List<WindowsVirtualMachineScaleSetWinrmListener>
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    Zones List<string>
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    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.
    AdminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    Instances int

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    NetworkInterfaces []WindowsVirtualMachineScaleSetNetworkInterfaceArgs
    One or more network_interface blocks as defined below.
    OsDisk WindowsVirtualMachineScaleSetOsDiskArgs
    An os_disk block as defined below.
    ResourceGroupName string
    The name of the Resource Group in which the Windows 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 WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
    An additional_capabilities block as defined below.
    AdditionalUnattendContents []WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    AutomaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    AutomaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    BootDiagnostics WindowsVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    CapacityReservationGroupId string

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    ComputerNamePrefix string
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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 []WindowsVirtualMachineScaleSetDataDiskArgs
    One or more data_disk blocks as defined below.
    DoNotRunExtensionsOnOverprovisionedMachines bool
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    EnableAutomaticUpdates bool
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    EncryptionAtHostEnabled bool
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    ExtensionOperationsEnabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    Extensions []WindowsVirtualMachineScaleSetExtensionArgs
    One or more extension blocks as defined below
    ExtensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    GalleryApplications []WindowsVirtualMachineScaleSetGalleryApplicationArgs
    One or more gallery_application blocks as defined below.
    HealthProbeId string
    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_mode is set to Automatic or Rolling.
    HostGroupId string
    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 WindowsVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    LicenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    Location string
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    MaxBidPrice float64

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    Name string
    The name of the Windows 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 WindowsVirtualMachineScaleSetPlanArgs

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    PlatformFaultDomainCount int
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    ProvisionVmAgent bool
    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.
    ProximityPlacementGroupId string
    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.
    RollingUpgradePolicy WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    ScaleIn WindowsVirtualMachineScaleSetScaleInArgs
    A scale_in block as defined below.
    Secrets []WindowsVirtualMachineScaleSetSecretArgs
    One or more secret blocks as defined below.
    SecureBootEnabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    SinglePlacementGroup bool
    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.
    SourceImageId string

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    SourceImageReference WindowsVirtualMachineScaleSetSourceImageReferenceArgs

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    SpotRestore WindowsVirtualMachineScaleSetSpotRestoreArgs
    A spot_restore block as defined below.
    Tags map[string]string
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminationNotification WindowsVirtualMachineScaleSetTerminationNotificationArgs
    A termination_notification block as defined below.
    Timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    UpgradeMode string
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    VtpmEnabled bool
    Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    WinrmListeners []WindowsVirtualMachineScaleSetWinrmListenerArgs
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    Zones []string
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    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.
    adminUsername String
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    instances Integer

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    networkInterfaces List<WindowsVirtualMachineScaleSetNetworkInterface>
    One or more network_interface blocks as defined below.
    osDisk WindowsVirtualMachineScaleSetOsDisk
    An os_disk block as defined below.
    resourceGroupName String
    The name of the Resource Group in which the Windows 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 WindowsVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    additionalUnattendContents List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    automaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    bootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    capacityReservationGroupId String

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    computerNamePrefix String
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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<WindowsVirtualMachineScaleSetDataDisk>
    One or more data_disk blocks as defined below.
    doNotRunExtensionsOnOverprovisionedMachines Boolean
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    enableAutomaticUpdates Boolean
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    encryptionAtHostEnabled Boolean
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    extensionOperationsEnabled Boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions List<WindowsVirtualMachineScaleSetExtension>
    One or more extension blocks as defined below
    extensionsTimeBudget String
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    galleryApplications List<WindowsVirtualMachineScaleSetGalleryApplication>
    One or more gallery_application blocks as defined below.
    healthProbeId String
    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_mode is set to Automatic or Rolling.
    hostGroupId String
    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 WindowsVirtualMachineScaleSetIdentity
    An identity block as defined below.
    licenseType String
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location String
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice Double

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    name String
    The name of the Windows 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 WindowsVirtualMachineScaleSetPlan

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    platformFaultDomainCount Integer
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    provisionVmAgent Boolean
    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.
    proximityPlacementGroupId String
    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.
    rollingUpgradePolicy WindowsVirtualMachineScaleSetRollingUpgradePolicy
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    scaleIn WindowsVirtualMachineScaleSetScaleIn
    A scale_in block as defined below.
    secrets List<WindowsVirtualMachineScaleSetSecret>
    One or more secret blocks as defined below.
    secureBootEnabled Boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    singlePlacementGroup Boolean
    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.
    sourceImageId String

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    spotRestore WindowsVirtualMachineScaleSetSpotRestore
    A spot_restore block as defined below.
    tags Map<String,String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification WindowsVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    timezone String
    Specifies the time zone of the virtual machine, the possible values are defined here.
    upgradeMode String
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    vtpmEnabled Boolean
    Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners List<WindowsVirtualMachineScaleSetWinrmListener>
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    zones List<String>
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    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.
    adminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    instances number

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    networkInterfaces WindowsVirtualMachineScaleSetNetworkInterface[]
    One or more network_interface blocks as defined below.
    osDisk WindowsVirtualMachineScaleSetOsDisk
    An os_disk block as defined below.
    resourceGroupName string
    The name of the Resource Group in which the Windows 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 WindowsVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    additionalUnattendContents WindowsVirtualMachineScaleSetAdditionalUnattendContent[]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    automaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    bootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    capacityReservationGroupId string

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    computerNamePrefix string
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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 WindowsVirtualMachineScaleSetDataDisk[]
    One or more data_disk blocks as defined below.
    doNotRunExtensionsOnOverprovisionedMachines boolean
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    enableAutomaticUpdates boolean
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    encryptionAtHostEnabled boolean
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    extensionOperationsEnabled boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions WindowsVirtualMachineScaleSetExtension[]
    One or more extension blocks as defined below
    extensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    galleryApplications WindowsVirtualMachineScaleSetGalleryApplication[]
    One or more gallery_application blocks as defined below.
    healthProbeId string
    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_mode is set to Automatic or Rolling.
    hostGroupId string
    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 WindowsVirtualMachineScaleSetIdentity
    An identity block as defined below.
    licenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location string
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice number

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    name string
    The name of the Windows 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 WindowsVirtualMachineScaleSetPlan

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    platformFaultDomainCount number
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    provisionVmAgent boolean
    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.
    proximityPlacementGroupId string
    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.
    rollingUpgradePolicy WindowsVirtualMachineScaleSetRollingUpgradePolicy
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    scaleIn WindowsVirtualMachineScaleSetScaleIn
    A scale_in block as defined below.
    secrets WindowsVirtualMachineScaleSetSecret[]
    One or more secret blocks as defined below.
    secureBootEnabled boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    singlePlacementGroup boolean
    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.
    sourceImageId string

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    spotRestore WindowsVirtualMachineScaleSetSpotRestore
    A spot_restore block as defined below.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification WindowsVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    upgradeMode string
    userData string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    vtpmEnabled boolean
    Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners WindowsVirtualMachineScaleSetWinrmListener[]
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    zones string[]
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    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.
    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.
    instances int

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    network_interfaces Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceArgs]
    One or more network_interface blocks as defined below.
    os_disk WindowsVirtualMachineScaleSetOsDiskArgs
    An os_disk block as defined below.
    resource_group_name str
    The name of the Resource Group in which the Windows 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 WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
    An additional_capabilities block as defined below.
    additional_unattend_contents Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    automatic_instance_repair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    automatic_os_upgrade_policy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    boot_diagnostics WindowsVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    capacity_reservation_group_id str

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    computer_name_prefix str
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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[WindowsVirtualMachineScaleSetDataDiskArgs]
    One or more data_disk blocks as defined below.
    do_not_run_extensions_on_overprovisioned_machines bool
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    enable_automatic_updates bool
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    encryption_at_host_enabled bool
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    extension_operations_enabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions Sequence[WindowsVirtualMachineScaleSetExtensionArgs]
    One or more extension blocks as defined below
    extensions_time_budget str
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    gallery_applications Sequence[WindowsVirtualMachineScaleSetGalleryApplicationArgs]
    One or more gallery_application blocks as defined below.
    health_probe_id str
    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_mode is set to Automatic or Rolling.
    host_group_id str
    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 WindowsVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    license_type str
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location str
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    max_bid_price float

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    name str
    The name of the Windows 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 WindowsVirtualMachineScaleSetPlanArgs

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    platform_fault_domain_count int
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    provision_vm_agent bool
    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_group_id str
    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_policy WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    scale_in WindowsVirtualMachineScaleSetScaleInArgs
    A scale_in block as defined below.
    secrets Sequence[WindowsVirtualMachineScaleSetSecretArgs]
    One or more secret blocks as defined below.
    secure_boot_enabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    single_placement_group bool
    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_id str

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    source_image_reference WindowsVirtualMachineScaleSetSourceImageReferenceArgs

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    spot_restore WindowsVirtualMachineScaleSetSpotRestoreArgs
    A spot_restore block as defined below.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    termination_notification WindowsVirtualMachineScaleSetTerminationNotificationArgs
    A termination_notification block as defined below.
    timezone str
    Specifies the time zone of the virtual machine, the possible values are defined here.
    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 if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrm_listeners Sequence[WindowsVirtualMachineScaleSetWinrmListenerArgs]
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    zones Sequence[str]
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    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.
    adminUsername String
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    instances Number

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    networkInterfaces List<Property Map>
    One or more network_interface blocks as defined below.
    osDisk Property Map
    An os_disk block as defined below.
    resourceGroupName String
    The name of the Resource Group in which the Windows 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_capabilities block as defined below.
    additionalUnattendContents List<Property Map>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    automaticInstanceRepair Property Map

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    automaticOsUpgradePolicy Property Map
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    bootDiagnostics Property Map
    A boot_diagnostics block as defined below.
    capacityReservationGroupId String

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    computerNamePrefix String
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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_disk blocks as defined below.
    doNotRunExtensionsOnOverprovisionedMachines Boolean
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    enableAutomaticUpdates Boolean
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    encryptionAtHostEnabled Boolean
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    extensionOperationsEnabled Boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions List<Property Map>
    One or more extension blocks as defined below
    extensionsTimeBudget String
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    galleryApplications List<Property Map>
    One or more gallery_application blocks as defined below.
    healthProbeId String
    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_mode is set to Automatic or Rolling.
    hostGroupId String
    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 identity block as defined below.
    licenseType String
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location String
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice Number

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    name String
    The name of the Windows 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 plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    platformFaultDomainCount Number
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    provisionVmAgent Boolean
    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.
    proximityPlacementGroupId String
    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.
    rollingUpgradePolicy Property Map
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    scaleIn Property Map
    A scale_in block as defined below.
    secrets List<Property Map>
    One or more secret blocks as defined below.
    secureBootEnabled Boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    singlePlacementGroup Boolean
    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.
    sourceImageId String

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    sourceImageReference Property Map

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    spotRestore Property Map
    A spot_restore block as defined below.
    tags Map<String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification Property Map
    A termination_notification block as defined below.
    timezone String
    Specifies the time zone of the virtual machine, the possible values are defined here.
    upgradeMode String
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    vtpmEnabled Boolean
    Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners List<Property Map>
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    zones List<String>
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    UniqueId string
    The Unique ID for this Windows Virtual Machine Scale Set.
    Id string
    The provider-assigned unique ID for this managed resource.
    UniqueId string
    The Unique ID for this Windows Virtual Machine Scale Set.
    id String
    The provider-assigned unique ID for this managed resource.
    uniqueId String
    The Unique ID for this Windows Virtual Machine Scale Set.
    id string
    The provider-assigned unique ID for this managed resource.
    uniqueId string
    The Unique ID for this Windows Virtual Machine Scale Set.
    id str
    The provider-assigned unique ID for this managed resource.
    unique_id str
    The Unique ID for this Windows Virtual Machine Scale Set.
    id String
    The provider-assigned unique ID for this managed resource.
    uniqueId String
    The Unique ID for this Windows Virtual Machine Scale Set.

    Look up Existing WindowsVirtualMachineScaleSet Resource

    Get an existing WindowsVirtualMachineScaleSet 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?: WindowsVirtualMachineScaleSetState, opts?: CustomResourceOptions): WindowsVirtualMachineScaleSet
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            additional_capabilities: Optional[WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
            additional_unattend_contents: Optional[Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]] = None,
            admin_password: Optional[str] = None,
            admin_username: Optional[str] = None,
            automatic_instance_repair: Optional[WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
            automatic_os_upgrade_policy: Optional[WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs] = None,
            boot_diagnostics: Optional[WindowsVirtualMachineScaleSetBootDiagnosticsArgs] = None,
            capacity_reservation_group_id: Optional[str] = None,
            computer_name_prefix: Optional[str] = None,
            custom_data: Optional[str] = None,
            data_disks: Optional[Sequence[WindowsVirtualMachineScaleSetDataDiskArgs]] = None,
            do_not_run_extensions_on_overprovisioned_machines: Optional[bool] = None,
            edge_zone: Optional[str] = None,
            enable_automatic_updates: Optional[bool] = None,
            encryption_at_host_enabled: Optional[bool] = None,
            eviction_policy: Optional[str] = None,
            extension_operations_enabled: Optional[bool] = None,
            extensions: Optional[Sequence[WindowsVirtualMachineScaleSetExtensionArgs]] = None,
            extensions_time_budget: Optional[str] = None,
            gallery_applications: Optional[Sequence[WindowsVirtualMachineScaleSetGalleryApplicationArgs]] = None,
            health_probe_id: Optional[str] = None,
            host_group_id: Optional[str] = None,
            identity: Optional[WindowsVirtualMachineScaleSetIdentityArgs] = None,
            instances: Optional[int] = None,
            license_type: Optional[str] = None,
            location: Optional[str] = None,
            max_bid_price: Optional[float] = None,
            name: Optional[str] = None,
            network_interfaces: Optional[Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
            os_disk: Optional[WindowsVirtualMachineScaleSetOsDiskArgs] = None,
            overprovision: Optional[bool] = None,
            plan: Optional[WindowsVirtualMachineScaleSetPlanArgs] = 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[WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs] = None,
            scale_in: Optional[WindowsVirtualMachineScaleSetScaleInArgs] = None,
            secrets: Optional[Sequence[WindowsVirtualMachineScaleSetSecretArgs]] = 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[WindowsVirtualMachineScaleSetSourceImageReferenceArgs] = None,
            spot_restore: Optional[WindowsVirtualMachineScaleSetSpotRestoreArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            termination_notification: Optional[WindowsVirtualMachineScaleSetTerminationNotificationArgs] = None,
            timezone: Optional[str] = None,
            unique_id: Optional[str] = None,
            upgrade_mode: Optional[str] = None,
            user_data: Optional[str] = None,
            vtpm_enabled: Optional[bool] = None,
            winrm_listeners: Optional[Sequence[WindowsVirtualMachineScaleSetWinrmListenerArgs]] = None,
            zone_balance: Optional[bool] = None,
            zones: Optional[Sequence[str]] = None) -> WindowsVirtualMachineScaleSet
    func GetWindowsVirtualMachineScaleSet(ctx *Context, name string, id IDInput, state *WindowsVirtualMachineScaleSetState, opts ...ResourceOption) (*WindowsVirtualMachineScaleSet, error)
    public static WindowsVirtualMachineScaleSet Get(string name, Input<string> id, WindowsVirtualMachineScaleSetState? state, CustomResourceOptions? opts = null)
    public static WindowsVirtualMachineScaleSet get(String name, Output<String> id, WindowsVirtualMachineScaleSetState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AdditionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    AdditionalUnattendContents List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    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.
    AdminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    AutomaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    AutomaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    BootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    CapacityReservationGroupId string

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    ComputerNamePrefix string
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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<WindowsVirtualMachineScaleSetDataDisk>
    One or more data_disk blocks as defined below.
    DoNotRunExtensionsOnOverprovisionedMachines bool
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    EnableAutomaticUpdates bool
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    EncryptionAtHostEnabled bool
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    ExtensionOperationsEnabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    Extensions List<WindowsVirtualMachineScaleSetExtension>
    One or more extension blocks as defined below
    ExtensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    GalleryApplications List<WindowsVirtualMachineScaleSetGalleryApplication>
    One or more gallery_application blocks as defined below.
    HealthProbeId string
    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_mode is set to Automatic or Rolling.
    HostGroupId string
    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 WindowsVirtualMachineScaleSetIdentity
    An identity block as defined below.
    Instances int

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    LicenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    Location string
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    MaxBidPrice double

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    Name string
    The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.
    NetworkInterfaces List<WindowsVirtualMachineScaleSetNetworkInterface>
    One or more network_interface blocks as defined below.
    OsDisk WindowsVirtualMachineScaleSetOsDisk
    An os_disk block 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 WindowsVirtualMachineScaleSetPlan

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    PlatformFaultDomainCount int
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    ProvisionVmAgent bool
    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.
    ProximityPlacementGroupId string
    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.
    ResourceGroupName string
    The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
    RollingUpgradePolicy WindowsVirtualMachineScaleSetRollingUpgradePolicy
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    ScaleIn WindowsVirtualMachineScaleSetScaleIn
    A scale_in block as defined below.
    Secrets List<WindowsVirtualMachineScaleSetSecret>
    One or more secret blocks as defined below.
    SecureBootEnabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    SinglePlacementGroup bool
    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.
    SourceImageId string

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    SourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    SpotRestore WindowsVirtualMachineScaleSetSpotRestore
    A spot_restore block as defined below.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminationNotification WindowsVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    Timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    UniqueId string
    The Unique ID for this Windows 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 if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    WinrmListeners List<WindowsVirtualMachineScaleSetWinrmListener>
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    Zones List<string>
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    AdditionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
    An additional_capabilities block as defined below.
    AdditionalUnattendContents []WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    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.
    AdminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    AutomaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    AutomaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    BootDiagnostics WindowsVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    CapacityReservationGroupId string

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    ComputerNamePrefix string
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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 []WindowsVirtualMachineScaleSetDataDiskArgs
    One or more data_disk blocks as defined below.
    DoNotRunExtensionsOnOverprovisionedMachines bool
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    EnableAutomaticUpdates bool
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    EncryptionAtHostEnabled bool
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    ExtensionOperationsEnabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    Extensions []WindowsVirtualMachineScaleSetExtensionArgs
    One or more extension blocks as defined below
    ExtensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    GalleryApplications []WindowsVirtualMachineScaleSetGalleryApplicationArgs
    One or more gallery_application blocks as defined below.
    HealthProbeId string
    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_mode is set to Automatic or Rolling.
    HostGroupId string
    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 WindowsVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    Instances int

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    LicenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    Location string
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    MaxBidPrice float64

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    Name string
    The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.
    NetworkInterfaces []WindowsVirtualMachineScaleSetNetworkInterfaceArgs
    One or more network_interface blocks as defined below.
    OsDisk WindowsVirtualMachineScaleSetOsDiskArgs
    An os_disk block 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 WindowsVirtualMachineScaleSetPlanArgs

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    PlatformFaultDomainCount int
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    ProvisionVmAgent bool
    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.
    ProximityPlacementGroupId string
    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.
    ResourceGroupName string
    The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
    RollingUpgradePolicy WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    ScaleIn WindowsVirtualMachineScaleSetScaleInArgs
    A scale_in block as defined below.
    Secrets []WindowsVirtualMachineScaleSetSecretArgs
    One or more secret blocks as defined below.
    SecureBootEnabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    SinglePlacementGroup bool
    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.
    SourceImageId string

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    SourceImageReference WindowsVirtualMachineScaleSetSourceImageReferenceArgs

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    SpotRestore WindowsVirtualMachineScaleSetSpotRestoreArgs
    A spot_restore block as defined below.
    Tags map[string]string
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminationNotification WindowsVirtualMachineScaleSetTerminationNotificationArgs
    A termination_notification block as defined below.
    Timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    UniqueId string
    The Unique ID for this Windows 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 if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    WinrmListeners []WindowsVirtualMachineScaleSetWinrmListenerArgs
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    Zones []string
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    additionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    additionalUnattendContents List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    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.
    adminUsername String
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    automaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    bootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    capacityReservationGroupId String

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    computerNamePrefix String
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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<WindowsVirtualMachineScaleSetDataDisk>
    One or more data_disk blocks as defined below.
    doNotRunExtensionsOnOverprovisionedMachines Boolean
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    enableAutomaticUpdates Boolean
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    encryptionAtHostEnabled Boolean
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    extensionOperationsEnabled Boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions List<WindowsVirtualMachineScaleSetExtension>
    One or more extension blocks as defined below
    extensionsTimeBudget String
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    galleryApplications List<WindowsVirtualMachineScaleSetGalleryApplication>
    One or more gallery_application blocks as defined below.
    healthProbeId String
    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_mode is set to Automatic or Rolling.
    hostGroupId String
    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 WindowsVirtualMachineScaleSetIdentity
    An identity block as defined below.
    instances Integer

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    licenseType String
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location String
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice Double

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    name String
    The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.
    networkInterfaces List<WindowsVirtualMachineScaleSetNetworkInterface>
    One or more network_interface blocks as defined below.
    osDisk WindowsVirtualMachineScaleSetOsDisk
    An os_disk block 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 WindowsVirtualMachineScaleSetPlan

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    platformFaultDomainCount Integer
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    provisionVmAgent Boolean
    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.
    proximityPlacementGroupId String
    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.
    resourceGroupName String
    The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
    rollingUpgradePolicy WindowsVirtualMachineScaleSetRollingUpgradePolicy
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    scaleIn WindowsVirtualMachineScaleSetScaleIn
    A scale_in block as defined below.
    secrets List<WindowsVirtualMachineScaleSetSecret>
    One or more secret blocks as defined below.
    secureBootEnabled Boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    singlePlacementGroup Boolean
    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.
    sourceImageId String

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    spotRestore WindowsVirtualMachineScaleSetSpotRestore
    A spot_restore block as defined below.
    tags Map<String,String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification WindowsVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    timezone String
    Specifies the time zone of the virtual machine, the possible values are defined here.
    uniqueId String
    The Unique ID for this Windows 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 if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners List<WindowsVirtualMachineScaleSetWinrmListener>
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    zones List<String>
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    additionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
    An additional_capabilities block as defined below.
    additionalUnattendContents WindowsVirtualMachineScaleSetAdditionalUnattendContent[]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    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.
    adminUsername string
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    automaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    bootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    capacityReservationGroupId string

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    computerNamePrefix string
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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 WindowsVirtualMachineScaleSetDataDisk[]
    One or more data_disk blocks as defined below.
    doNotRunExtensionsOnOverprovisionedMachines boolean
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    enableAutomaticUpdates boolean
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    encryptionAtHostEnabled boolean
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    extensionOperationsEnabled boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions WindowsVirtualMachineScaleSetExtension[]
    One or more extension blocks as defined below
    extensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    galleryApplications WindowsVirtualMachineScaleSetGalleryApplication[]
    One or more gallery_application blocks as defined below.
    healthProbeId string
    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_mode is set to Automatic or Rolling.
    hostGroupId string
    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 WindowsVirtualMachineScaleSetIdentity
    An identity block as defined below.
    instances number

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    licenseType string
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location string
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice number

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    name string
    The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.
    networkInterfaces WindowsVirtualMachineScaleSetNetworkInterface[]
    One or more network_interface blocks as defined below.
    osDisk WindowsVirtualMachineScaleSetOsDisk
    An os_disk block 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 WindowsVirtualMachineScaleSetPlan

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    platformFaultDomainCount number
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    provisionVmAgent boolean
    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.
    proximityPlacementGroupId string
    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.
    resourceGroupName string
    The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
    rollingUpgradePolicy WindowsVirtualMachineScaleSetRollingUpgradePolicy
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    scaleIn WindowsVirtualMachineScaleSetScaleIn
    A scale_in block as defined below.
    secrets WindowsVirtualMachineScaleSetSecret[]
    One or more secret blocks as defined below.
    secureBootEnabled boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    singlePlacementGroup boolean
    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.
    sourceImageId string

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    spotRestore WindowsVirtualMachineScaleSetSpotRestore
    A spot_restore block as defined below.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification WindowsVirtualMachineScaleSetTerminationNotification
    A termination_notification block as defined below.
    timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    uniqueId string
    The Unique ID for this Windows 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 if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners WindowsVirtualMachineScaleSetWinrmListener[]
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    zones string[]
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    additional_capabilities WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
    An additional_capabilities block as defined below.
    additional_unattend_contents Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    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.
    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_repair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    automatic_os_upgrade_policy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    boot_diagnostics WindowsVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    capacity_reservation_group_id str

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    computer_name_prefix str
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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[WindowsVirtualMachineScaleSetDataDiskArgs]
    One or more data_disk blocks as defined below.
    do_not_run_extensions_on_overprovisioned_machines bool
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    enable_automatic_updates bool
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    encryption_at_host_enabled bool
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    extension_operations_enabled bool

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions Sequence[WindowsVirtualMachineScaleSetExtensionArgs]
    One or more extension blocks as defined below
    extensions_time_budget str
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    gallery_applications Sequence[WindowsVirtualMachineScaleSetGalleryApplicationArgs]
    One or more gallery_application blocks as defined below.
    health_probe_id str
    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_mode is set to Automatic or Rolling.
    host_group_id str
    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 WindowsVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    instances int

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    license_type str
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location str
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    max_bid_price float

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    name str
    The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.
    network_interfaces Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceArgs]
    One or more network_interface blocks as defined below.
    os_disk WindowsVirtualMachineScaleSetOsDiskArgs
    An os_disk block 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 WindowsVirtualMachineScaleSetPlanArgs

    A plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    platform_fault_domain_count int
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    provision_vm_agent bool
    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_group_id str
    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_name str
    The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
    rolling_upgrade_policy WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    scale_in WindowsVirtualMachineScaleSetScaleInArgs
    A scale_in block as defined below.
    secrets Sequence[WindowsVirtualMachineScaleSetSecretArgs]
    One or more secret blocks as defined below.
    secure_boot_enabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    single_placement_group bool
    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_id str

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    source_image_reference WindowsVirtualMachineScaleSetSourceImageReferenceArgs

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    spot_restore WindowsVirtualMachineScaleSetSpotRestoreArgs
    A spot_restore block as defined below.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    termination_notification WindowsVirtualMachineScaleSetTerminationNotificationArgs
    A termination_notification block as defined below.
    timezone str
    Specifies the time zone of the virtual machine, the possible values are defined here.
    unique_id str
    The Unique ID for this Windows 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 if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrm_listeners Sequence[WindowsVirtualMachineScaleSetWinrmListenerArgs]
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    zones Sequence[str]
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    additionalCapabilities Property Map
    An additional_capabilities block as defined below.
    additionalUnattendContents List<Property Map>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    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.
    adminUsername String
    The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
    automaticInstanceRepair Property Map

    An automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.

    Note: For more information about Automatic Instance Repair, please refer to this doc.

    automaticOsUpgradePolicy Property Map
    An automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to either Automatic or Rolling.
    bootDiagnostics Property Map
    A boot_diagnostics block as defined below.
    capacityReservationGroupId String

    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_id cannot be used with proximity_placement_group_id

    Note: single_placement_group must be set to false when capacity_reservation_group_id is specified.

    computerNamePrefix String
    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 name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_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_disk blocks as defined below.
    doNotRunExtensionsOnOverprovisionedMachines Boolean
    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 Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
    enableAutomaticUpdates Boolean
    Are automatic updates enabled for this Virtual Machine? Defaults to true.
    encryptionAtHostEnabled Boolean
    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 Deallocate and Delete. Changing this forces a new resource to be created.

    Note: This can only be configured when priority is set to Spot.

    extensionOperationsEnabled Boolean

    Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are true or false. Defaults to true. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Note: extension_operations_enabled may only be set to false if there are no extensions defined in the extension field.

    extensions List<Property Map>
    One or more extension blocks as defined below
    extensionsTimeBudget String
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
    galleryApplications List<Property Map>
    One or more gallery_application blocks as defined below.
    healthProbeId String
    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_mode is set to Automatic or Rolling.
    hostGroupId String
    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 identity block as defined below.
    instances Number

    The number of Virtual Machines in the Scale Set.

    NOTE: If you're using AutoScaling, you may wish to use Ignore Changes functionality to ignore changes to this field.

    licenseType String
    Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
    location String
    The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
    maxBidPrice Number

    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 the Scale Set should not be evicted for price reasons.

    Note: This can only be configured when priority is set to Spot.

    name String
    The name of the Windows Virtual Machine Scale Set. Changing this forces a new resource to be created.
    networkInterfaces List<Property Map>
    One or more network_interface blocks as defined below.
    osDisk Property Map
    An os_disk block 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 plan block as defined below. Changing this forces a new resource to be created.

    Note: When using an image from Azure Marketplace a plan must be specified.

    platformFaultDomainCount Number
    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 Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

    Note: When priority is set to Spot an eviction_policy must be specified.

    provisionVmAgent Boolean
    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.
    proximityPlacementGroupId String
    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.
    resourceGroupName String
    The name of the Resource Group in which the Windows Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
    rollingUpgradePolicy Property Map
    A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
    scaleIn Property Map
    A scale_in block as defined below.
    secrets List<Property Map>
    One or more secret blocks as defined below.
    secureBootEnabled Boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    singlePlacementGroup Boolean
    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.
    sourceImageId String

    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 ID and Shared Gallery Image Version ID.

    Note: One of either source_image_id or source_image_reference must be set.

    sourceImageReference Property Map

    A source_image_reference block as defined below.

    Note: One of either source_image_id or source_image_reference must be set.

    spotRestore Property Map
    A spot_restore block as defined below.
    tags Map<String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminationNotification Property Map
    A termination_notification block as defined below.
    timezone String
    Specifies the time zone of the virtual machine, the possible values are defined here.
    uniqueId String
    The Unique ID for this Windows 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 if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners List<Property Map>
    One or more winrm_listener blocks as defined below. 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 true when one or more zones are configured.

    zones List<String>
    Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located. Changing this forces a new Windows Virtual Machine Scale Set to be created.

    Supporting Types

    WindowsVirtualMachineScaleSetAdditionalCapabilities, WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs

    UltraSsdEnabled bool
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
    UltraSsdEnabled bool
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
    ultraSsdEnabled Boolean
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
    ultraSsdEnabled boolean
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
    ultra_ssd_enabled bool
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
    ultraSsdEnabled Boolean
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine Scale Set? Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.

    WindowsVirtualMachineScaleSetAdditionalUnattendContent, WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs

    Content string
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    Setting string
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    Content string
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    Setting string
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content String
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting String
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content string
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting string
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content str
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting str
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content String
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting String
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.

    WindowsVirtualMachineScaleSetAutomaticInstanceRepair, WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs

    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 action field 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 action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    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 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field 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 action field 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 action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    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 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field 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 action field 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 action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    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 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field 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 action field 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 action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    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 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field 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 action field 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 action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    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 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field 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 action field 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 action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

    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 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

    Note: Once the grace_period field has been set it will always return the last value it was assigned if it is removed from the configuration file.

    WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy, WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs

    DisableAutomaticRollback bool
    Should automatic rollbacks be disabled?
    EnableAutomaticOsUpgrade bool
    Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
    DisableAutomaticRollback bool
    Should automatic rollbacks be disabled?
    EnableAutomaticOsUpgrade bool
    Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
    disableAutomaticRollback Boolean
    Should automatic rollbacks be disabled?
    enableAutomaticOsUpgrade Boolean
    Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
    disableAutomaticRollback boolean
    Should automatic rollbacks be disabled?
    enableAutomaticOsUpgrade boolean
    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_rollback bool
    Should automatic rollbacks be disabled?
    enable_automatic_os_upgrade bool
    Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
    disableAutomaticRollback Boolean
    Should automatic rollbacks be disabled?
    enableAutomaticOsUpgrade Boolean
    Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?

    WindowsVirtualMachineScaleSetBootDiagnostics, WindowsVirtualMachineScaleSetBootDiagnosticsArgs

    StorageAccountUri string

    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

    StorageAccountUri string

    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

    storageAccountUri String

    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

    storageAccountUri string

    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_uri str

    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

    storageAccountUri String

    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

    WindowsVirtualMachineScaleSetDataDisk, WindowsVirtualMachineScaleSetDataDiskArgs

    Caching string
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    DiskSizeGb int
    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.
    StorageAccountType string

    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_ZRS and UltraSSD_LRS.

    Note: UltraSSD_LRS is only supported when ultra_ssd_enabled within the additional_capabilities block is enabled.

    CreateOption string
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    DiskEncryptionSetId string

    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 Reader Role 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.
    UltraSsdDiskIopsReadWrite int
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    UltraSsdDiskMbpsReadWrite int
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    WriteAcceleratorEnabled bool

    Should Write Accelerator be enabled for this Data Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    Caching string
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    DiskSizeGb int
    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.
    StorageAccountType string

    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_ZRS and UltraSSD_LRS.

    Note: UltraSSD_LRS is only supported when ultra_ssd_enabled within the additional_capabilities block is enabled.

    CreateOption string
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    DiskEncryptionSetId string

    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 Reader Role 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.
    UltraSsdDiskIopsReadWrite int
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    UltraSsdDiskMbpsReadWrite int
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    WriteAcceleratorEnabled bool

    Should Write Accelerator be enabled for this Data Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    caching String
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    diskSizeGb Integer
    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.
    storageAccountType String

    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_ZRS and UltraSSD_LRS.

    Note: UltraSSD_LRS is only supported when ultra_ssd_enabled within the additional_capabilities block is enabled.

    createOption String
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    diskEncryptionSetId String

    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 Reader Role 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.
    ultraSsdDiskIopsReadWrite Integer
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    ultraSsdDiskMbpsReadWrite Integer
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    writeAcceleratorEnabled Boolean

    Should Write Accelerator be enabled for this Data Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    caching string
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    diskSizeGb number
    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.
    storageAccountType string

    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_ZRS and UltraSSD_LRS.

    Note: UltraSSD_LRS is only supported when ultra_ssd_enabled within the additional_capabilities block is enabled.

    createOption string
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    diskEncryptionSetId string

    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 Reader Role 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.
    ultraSsdDiskIopsReadWrite number
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    ultraSsdDiskMbpsReadWrite number
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    writeAcceleratorEnabled boolean

    Should Write Accelerator be enabled for this Data Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    caching str
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    disk_size_gb int
    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_type str

    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_ZRS and UltraSSD_LRS.

    Note: UltraSSD_LRS is only supported when ultra_ssd_enabled within the additional_capabilities block is enabled.

    create_option str
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    disk_encryption_set_id str

    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 Reader Role 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_disk_iops_read_write int
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    ultra_ssd_disk_mbps_read_write int
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    write_accelerator_enabled bool

    Should Write Accelerator be enabled for this Data Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    caching String
    The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
    diskSizeGb Number
    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.
    storageAccountType String

    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_ZRS and UltraSSD_LRS.

    Note: UltraSSD_LRS is only supported when ultra_ssd_enabled within the additional_capabilities block is enabled.

    createOption String
    The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to Empty. (FromImage should only be used if the source image includes data disks).
    diskEncryptionSetId String

    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 Reader Role 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.
    ultraSsdDiskIopsReadWrite Number
    Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    ultraSsdDiskMbpsReadWrite Number
    Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
    writeAcceleratorEnabled Boolean

    Should Write Accelerator be enabled for this Data Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    WindowsVirtualMachineScaleSetExtension, WindowsVirtualMachineScaleSetExtensionArgs

    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.
    TypeHandlerVersion string
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    AutoUpgradeMinorVersion bool
    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.
    AutomaticUpgradeEnabled bool
    Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
    ForceUpdateTag string
    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_settings block 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.

    ProtectedSettingsFromKeyVault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    ProvisionAfterExtensions List<string>
    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 settings block 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.
    TypeHandlerVersion string
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    AutoUpgradeMinorVersion bool
    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.
    AutomaticUpgradeEnabled bool
    Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
    ForceUpdateTag string
    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_settings block 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.

    ProtectedSettingsFromKeyVault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    ProvisionAfterExtensions []string
    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 settings block 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.
    typeHandlerVersion String
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    autoUpgradeMinorVersion Boolean
    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.
    automaticUpgradeEnabled Boolean
    Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
    forceUpdateTag String
    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_settings block 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.

    protectedSettingsFromKeyVault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    provisionAfterExtensions List<String>
    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 settings block 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.
    typeHandlerVersion string
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    autoUpgradeMinorVersion boolean
    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.
    automaticUpgradeEnabled boolean
    Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
    forceUpdateTag string
    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_settings block 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.

    protectedSettingsFromKeyVault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    provisionAfterExtensions string[]
    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 settings block 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_version str
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    auto_upgrade_minor_version bool
    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_enabled bool
    Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
    force_update_tag str
    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_settings block 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_from_key_vault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    provision_after_extensions Sequence[str]
    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 settings block 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.
    typeHandlerVersion String
    Specifies the version of the extension to use, available versions can be found using the Azure CLI.
    autoUpgradeMinorVersion Boolean
    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.
    automaticUpgradeEnabled Boolean
    Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
    forceUpdateTag String
    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_settings block 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.

    protectedSettingsFromKeyVault Property Map

    A protected_settings_from_key_vault block as defined below.

    Note: protected_settings_from_key_vault cannot be used with protected_settings

    provisionAfterExtensions List<String>
    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 settings block 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.

    WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault, WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

    SecretUrl string
    The URL to the Key Vault Secret which stores the protected settings.
    SourceVaultId string
    The ID of the source Key Vault.
    SecretUrl string
    The URL to the Key Vault Secret which stores the protected settings.
    SourceVaultId string
    The ID of the source Key Vault.
    secretUrl String
    The URL to the Key Vault Secret which stores the protected settings.
    sourceVaultId String
    The ID of the source Key Vault.
    secretUrl string
    The URL to the Key Vault Secret which stores the protected settings.
    sourceVaultId string
    The ID of the source Key Vault.
    secret_url str
    The URL to the Key Vault Secret which stores the protected settings.
    source_vault_id str
    The ID of the source Key Vault.
    secretUrl String
    The URL to the Key Vault Secret which stores the protected settings.
    sourceVaultId String
    The ID of the source Key Vault.

    WindowsVirtualMachineScaleSetGalleryApplication, WindowsVirtualMachineScaleSetGalleryApplicationArgs

    VersionId string
    Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
    ConfigurationBlobUri string
    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 0 and 2147483647. Defaults to 0. 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 string value. 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.
    ConfigurationBlobUri string
    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 0 and 2147483647. Defaults to 0. 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 string value. 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.
    configurationBlobUri String
    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 0 and 2147483647. Defaults to 0. 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 string value. 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.
    configurationBlobUri string
    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 0 and 2147483647. Defaults to 0. 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 string value. 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_uri str
    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 0 and 2147483647. Defaults to 0. 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 string value. 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.
    configurationBlobUri String
    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 0 and 2147483647. Defaults to 0. 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 string value. Changing this forces a new resource to be created.

    WindowsVirtualMachineScaleSetIdentity, WindowsVirtualMachineScaleSetIdentityArgs

    Type string
    Specifies the type of Managed Service Identity that should be configured on this Windows 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 Windows Virtual Machine Scale Set.

    Note: This is required when type is set to UserAssigned or 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 Windows 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 Windows Virtual Machine Scale Set.

    Note: This is required when type is set to UserAssigned or 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 Windows 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 Windows Virtual Machine Scale Set.

    Note: This is required when type is set to UserAssigned or 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 Windows 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 Windows Virtual Machine Scale Set.

    Note: This is required when type is set to UserAssigned or 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 Windows 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 Windows Virtual Machine Scale Set.

    Note: This is required when type is set to UserAssigned or 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 Windows 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 Windows Virtual Machine Scale Set.

    Note: This is required when type is set to UserAssigned or SystemAssigned, UserAssigned.

    principalId String
    The Principal ID associated with this Managed Service Identity.
    tenantId String
    The Tenant ID associated with this Managed Service Identity.

    WindowsVirtualMachineScaleSetNetworkInterface, WindowsVirtualMachineScaleSetNetworkInterfaceArgs

    IpConfigurations List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration>
    One or more ip_configuration blocks 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.
    EnableAcceleratedNetworking bool
    Does this Network Interface support Accelerated Networking? Defaults to false.
    EnableIpForwarding bool
    Does this Network Interface support IP Forwarding? Defaults to false.
    NetworkSecurityGroupId string
    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_interface blocks are specified, one must be set to primary.

    IpConfigurations []WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration
    One or more ip_configuration blocks 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.
    EnableAcceleratedNetworking bool
    Does this Network Interface support Accelerated Networking? Defaults to false.
    EnableIpForwarding bool
    Does this Network Interface support IP Forwarding? Defaults to false.
    NetworkSecurityGroupId string
    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_interface blocks are specified, one must be set to primary.

    ipConfigurations List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration>
    One or more ip_configuration blocks 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.
    enableAcceleratedNetworking Boolean
    Does this Network Interface support Accelerated Networking? Defaults to false.
    enableIpForwarding Boolean
    Does this Network Interface support IP Forwarding? Defaults to false.
    networkSecurityGroupId String
    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_interface blocks are specified, one must be set to primary.

    ipConfigurations WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration[]
    One or more ip_configuration blocks 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.
    enableAcceleratedNetworking boolean
    Does this Network Interface support Accelerated Networking? Defaults to false.
    enableIpForwarding boolean
    Does this Network Interface support IP Forwarding? Defaults to false.
    networkSecurityGroupId string
    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_interface blocks are specified, one must be set to primary.

    ip_configurations Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration]
    One or more ip_configuration blocks 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_networking bool
    Does this Network Interface support Accelerated Networking? Defaults to false.
    enable_ip_forwarding bool
    Does this Network Interface support IP Forwarding? Defaults to false.
    network_security_group_id str
    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_interface blocks are specified, one must be set to primary.

    ipConfigurations List<Property Map>
    One or more ip_configuration blocks 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.
    enableAcceleratedNetworking Boolean
    Does this Network Interface support Accelerated Networking? Defaults to false.
    enableIpForwarding Boolean
    Does this Network Interface support IP Forwarding? Defaults to false.
    networkSecurityGroupId String
    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_interface blocks are specified, one must be set to primary.

    WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration, WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs

    Name string
    The Name which should be used for this IP Configuration.
    ApplicationGatewayBackendAddressPoolIds List<string>
    A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    ApplicationSecurityGroupIds List<string>
    A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
    LoadBalancerBackendAddressPoolIds List<string>

    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. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field 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 VirtualMachineScaleSetName CLI command.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    LoadBalancerInboundNatRulesIds List<string>

    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_on between 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_configuration block must be marked as Primary for each Network Interface.

    PublicIpAddresses List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress>
    A public_ip_address block as defined below.
    SubnetId string

    The ID of the Subnet which this IP Configuration should be connected to.

    subnet_id is required if version is set to IPv4.

    Version string
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    Name string
    The Name which should be used for this IP Configuration.
    ApplicationGatewayBackendAddressPoolIds []string
    A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    ApplicationSecurityGroupIds []string
    A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
    LoadBalancerBackendAddressPoolIds []string

    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. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field 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 VirtualMachineScaleSetName CLI command.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    LoadBalancerInboundNatRulesIds []string

    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_on between 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_configuration block must be marked as Primary for each Network Interface.

    PublicIpAddresses []WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress
    A public_ip_address block as defined below.
    SubnetId string

    The ID of the Subnet which this IP Configuration should be connected to.

    subnet_id is required if version is set to IPv4.

    Version string
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    name String
    The Name which should be used for this IP Configuration.
    applicationGatewayBackendAddressPoolIds List<String>
    A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    applicationSecurityGroupIds List<String>
    A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
    loadBalancerBackendAddressPoolIds List<String>

    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. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field 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 VirtualMachineScaleSetName CLI command.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    loadBalancerInboundNatRulesIds List<String>

    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_on between 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_configuration block must be marked as Primary for each Network Interface.

    publicIpAddresses List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress>
    A public_ip_address block as defined below.
    subnetId String

    The ID of the Subnet which this IP Configuration should be connected to.

    subnet_id is required if version is set to IPv4.

    version String
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    name string
    The Name which should be used for this IP Configuration.
    applicationGatewayBackendAddressPoolIds string[]
    A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    applicationSecurityGroupIds string[]
    A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
    loadBalancerBackendAddressPoolIds string[]

    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. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field 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 VirtualMachineScaleSetName CLI command.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    loadBalancerInboundNatRulesIds string[]

    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_on between 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_configuration block must be marked as Primary for each Network Interface.

    publicIpAddresses WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress[]
    A public_ip_address block as defined below.
    subnetId string

    The ID of the Subnet which this IP Configuration should be connected to.

    subnet_id is required if version is set to IPv4.

    version string
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    name str
    The Name which should be used for this IP Configuration.
    application_gateway_backend_address_pool_ids Sequence[str]
    A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    application_security_group_ids Sequence[str]
    A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
    load_balancer_backend_address_pool_ids Sequence[str]

    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. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field 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 VirtualMachineScaleSetName CLI command.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    load_balancer_inbound_nat_rules_ids Sequence[str]

    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_on between 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_configuration block must be marked as Primary for each Network Interface.

    public_ip_addresses Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress]
    A public_ip_address block as defined below.
    subnet_id str

    The ID of the Subnet which this IP Configuration should be connected to.

    subnet_id is required if version is set to IPv4.

    version str
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.
    name String
    The Name which should be used for this IP Configuration.
    applicationGatewayBackendAddressPoolIds List<String>
    A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
    applicationSecurityGroupIds List<String>
    A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
    loadBalancerBackendAddressPoolIds List<String>

    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. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field 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 VirtualMachineScaleSetName CLI command.

    Note: When using this field you'll also need to configure a Rule for the Load Balancer, and use a depends_on between this resource and the Load Balancer Rule.

    loadBalancerInboundNatRulesIds List<String>

    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_on between 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_configuration block must be marked as Primary for each Network Interface.

    publicIpAddresses List<Property Map>
    A public_ip_address block as defined below.
    subnetId String

    The ID of the Subnet which this IP Configuration should be connected to.

    subnet_id is required if version is set to IPv4.

    version String
    The Internet Protocol Version which should be used for this IP Configuration. Possible values are IPv4 and IPv6. Defaults to IPv4.

    WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress, WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs

    Name string
    The Name of the Public IP Address Configuration.
    DomainNameLabel string
    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.
    IdleTimeoutInMinutes int
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    IpTags List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag>
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    PublicIpPrefixId string

    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 AllowBringYourOwnPublicIpAddress and 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 IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    Name string
    The Name of the Public IP Address Configuration.
    DomainNameLabel string
    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.
    IdleTimeoutInMinutes int
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    IpTags []WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    PublicIpPrefixId string

    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 AllowBringYourOwnPublicIpAddress and 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 IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    name String
    The Name of the Public IP Address Configuration.
    domainNameLabel String
    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.
    idleTimeoutInMinutes Integer
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    ipTags List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag>
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    publicIpPrefixId String

    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 AllowBringYourOwnPublicIpAddress and 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 IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    name string
    The Name of the Public IP Address Configuration.
    domainNameLabel string
    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.
    idleTimeoutInMinutes number
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    ipTags WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag[]
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    publicIpPrefixId string

    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 AllowBringYourOwnPublicIpAddress and 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 IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    name str
    The Name of the Public IP Address Configuration.
    domain_name_label str
    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_in_minutes int
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    ip_tags Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag]
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    public_ip_prefix_id str

    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 AllowBringYourOwnPublicIpAddress and 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 IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
    name String
    The Name of the Public IP Address Configuration.
    domainNameLabel String
    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.
    idleTimeoutInMinutes Number
    The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range 4 to 32.
    ipTags List<Property Map>
    One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
    publicIpPrefixId String

    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 AllowBringYourOwnPublicIpAddress and 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 IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.

    WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag, WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs

    Tag string
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    Type string
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    Tag string
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    Type string
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    tag String
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    type String
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    tag string
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    type string
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    tag str
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    type str
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
    tag String
    The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
    type String
    The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.

    WindowsVirtualMachineScaleSetOsDisk, WindowsVirtualMachineScaleSetOsDiskArgs

    Caching string
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    StorageAccountType string
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    DiffDiskSettings WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    DiskEncryptionSetId string

    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 Reader Role 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

    DiskSizeGb int

    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.

    SecureVmDiskEncryptionSetId string

    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_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

    SecurityEncryptionType string

    Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.

    Note: vtpm_enabled must be set to true when security_encryption_type is specified.

    Note: encryption_at_host_enabled cannot be set to true when security_encryption_type is set to DiskWithVMGuestState.

    WriteAcceleratorEnabled bool

    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    Caching string
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    StorageAccountType string
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    DiffDiskSettings WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    DiskEncryptionSetId string

    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 Reader Role 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

    DiskSizeGb int

    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.

    SecureVmDiskEncryptionSetId string

    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_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

    SecurityEncryptionType string

    Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.

    Note: vtpm_enabled must be set to true when security_encryption_type is specified.

    Note: encryption_at_host_enabled cannot be set to true when security_encryption_type is set to DiskWithVMGuestState.

    WriteAcceleratorEnabled bool

    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    caching String
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType String
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    diffDiskSettings WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    diskEncryptionSetId String

    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 Reader Role 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

    diskSizeGb Integer

    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.

    secureVmDiskEncryptionSetId String

    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_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

    securityEncryptionType String

    Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.

    Note: vtpm_enabled must be set to true when security_encryption_type is specified.

    Note: encryption_at_host_enabled cannot be set to true when security_encryption_type is set to DiskWithVMGuestState.

    writeAcceleratorEnabled Boolean

    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    caching string
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType string
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    diffDiskSettings WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    diskEncryptionSetId string

    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 Reader Role 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

    diskSizeGb number

    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.

    secureVmDiskEncryptionSetId string

    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_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

    securityEncryptionType string

    Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.

    Note: vtpm_enabled must be set to true when security_encryption_type is specified.

    Note: encryption_at_host_enabled cannot be set to true when security_encryption_type is set to DiskWithVMGuestState.

    writeAcceleratorEnabled boolean

    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    caching str
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storage_account_type str
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    diff_disk_settings WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    disk_encryption_set_id str

    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 Reader Role 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_gb int

    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_disk_encryption_set_id str

    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_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

    security_encryption_type str

    Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.

    Note: vtpm_enabled must be set to true when security_encryption_type is specified.

    Note: encryption_at_host_enabled cannot be set to true when security_encryption_type is set to DiskWithVMGuestState.

    write_accelerator_enabled bool

    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    caching String
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType String
    The Type of Storage Account which should back this the Internal OS Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS and Premium_ZRS. Changing this forces a new resource to be created.
    diffDiskSettings Property Map
    A diff_disk_settings block as defined above. Changing this forces a new resource to be created.
    diskEncryptionSetId String

    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 Reader Role 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

    diskSizeGb Number

    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.

    secureVmDiskEncryptionSetId String

    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_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

    securityEncryptionType String

    Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are VMGuestStateOnly and DiskWithVMGuestState. Changing this forces a new resource to be created.

    Note: vtpm_enabled must be set to true when security_encryption_type is specified.

    Note: encryption_at_host_enabled cannot be set to true when security_encryption_type is set to DiskWithVMGuestState.

    writeAcceleratorEnabled Boolean

    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.

    Note: This requires that the storage_account_type is set to Premium_LRS and that caching is set to None.

    WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings, WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs

    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 CacheDisk and ResourceDisk. Defaults to CacheDisk. 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 CacheDisk and ResourceDisk. Defaults to CacheDisk. 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 CacheDisk and ResourceDisk. Defaults to CacheDisk. 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 CacheDisk and ResourceDisk. Defaults to CacheDisk. 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 CacheDisk and ResourceDisk. Defaults to CacheDisk. 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 CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.

    WindowsVirtualMachineScaleSetPlan, WindowsVirtualMachineScaleSetPlanArgs

    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.

    WindowsVirtualMachineScaleSetRollingUpgradePolicy, WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs

    MaxBatchInstancePercent int
    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.
    MaxUnhealthyInstancePercent int
    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.
    MaxUnhealthyUpgradedInstancePercent int
    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.
    PauseTimeBetweenBatches string
    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.
    CrossZoneUpgradesEnabled bool
    Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
    MaximumSurgeInstancesEnabled bool

    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 true or false.

    Note: overprovision must be set to false when maximum_surge_instances_enabled is specified.

    PrioritizeUnhealthyInstancesEnabled bool
    Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
    MaxBatchInstancePercent int
    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.
    MaxUnhealthyInstancePercent int
    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.
    MaxUnhealthyUpgradedInstancePercent int
    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.
    PauseTimeBetweenBatches string
    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.
    CrossZoneUpgradesEnabled bool
    Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
    MaximumSurgeInstancesEnabled bool

    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 true or false.

    Note: overprovision must be set to false when maximum_surge_instances_enabled is specified.

    PrioritizeUnhealthyInstancesEnabled bool
    Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
    maxBatchInstancePercent Integer
    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.
    maxUnhealthyInstancePercent Integer
    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.
    maxUnhealthyUpgradedInstancePercent Integer
    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.
    pauseTimeBetweenBatches String
    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.
    crossZoneUpgradesEnabled Boolean
    Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
    maximumSurgeInstancesEnabled Boolean

    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 true or false.

    Note: overprovision must be set to false when maximum_surge_instances_enabled is specified.

    prioritizeUnhealthyInstancesEnabled Boolean
    Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
    maxBatchInstancePercent number
    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.
    maxUnhealthyInstancePercent number
    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.
    maxUnhealthyUpgradedInstancePercent number
    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.
    pauseTimeBetweenBatches string
    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.
    crossZoneUpgradesEnabled boolean
    Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
    maximumSurgeInstancesEnabled boolean

    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 true or false.

    Note: overprovision must be set to false when maximum_surge_instances_enabled is specified.

    prioritizeUnhealthyInstancesEnabled boolean
    Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
    max_batch_instance_percent int
    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_instance_percent int
    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_upgraded_instance_percent int
    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_between_batches str
    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_upgrades_enabled bool
    Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
    maximum_surge_instances_enabled bool

    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 true or false.

    Note: overprovision must be set to false when maximum_surge_instances_enabled is specified.

    prioritize_unhealthy_instances_enabled bool
    Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
    maxBatchInstancePercent Number
    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.
    maxUnhealthyInstancePercent Number
    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.
    maxUnhealthyUpgradedInstancePercent Number
    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.
    pauseTimeBetweenBatches String
    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.
    crossZoneUpgradesEnabled Boolean
    Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
    maximumSurgeInstancesEnabled Boolean

    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 true or false.

    Note: overprovision must be set to false when maximum_surge_instances_enabled is specified.

    prioritizeUnhealthyInstancesEnabled Boolean
    Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.

    WindowsVirtualMachineScaleSetScaleIn, WindowsVirtualMachineScaleSetScaleInArgs

    ForceDeletionEnabled bool
    Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
    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, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
    ForceDeletionEnabled bool
    Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
    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, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
    forceDeletionEnabled Boolean
    Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
    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, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
    forceDeletionEnabled boolean
    Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
    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, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
    force_deletion_enabled bool
    Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
    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, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
    forceDeletionEnabled Boolean
    Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
    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, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.

    WindowsVirtualMachineScaleSetSecret, WindowsVirtualMachineScaleSetSecretArgs

    Certificates List<WindowsVirtualMachineScaleSetSecretCertificate>
    One or more certificate blocks as defined above.
    KeyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    Certificates []WindowsVirtualMachineScaleSetSecretCertificate
    One or more certificate blocks as defined above.
    KeyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates List<WindowsVirtualMachineScaleSetSecretCertificate>
    One or more certificate blocks as defined above.
    keyVaultId String
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates WindowsVirtualMachineScaleSetSecretCertificate[]
    One or more certificate blocks as defined above.
    keyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates Sequence[WindowsVirtualMachineScaleSetSecretCertificate]
    One or more certificate blocks as defined above.
    key_vault_id str
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates List<Property Map>
    One or more certificate blocks as defined above.
    keyVaultId String
    The ID of the Key Vault from which all Secrets should be sourced.

    WindowsVirtualMachineScaleSetSecretCertificate, WindowsVirtualMachineScaleSetSecretCertificateArgs

    Store string
    The certificate store on the Virtual Machine where the certificate should be added.
    Url string

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    Store string
    The certificate store on the Virtual Machine where the certificate should be added.
    Url string

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    store String
    The certificate store on the Virtual Machine where the certificate should be added.
    url String

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    store string
    The certificate store on the Virtual Machine where the certificate should be added.
    url string

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    store str
    The certificate store on the Virtual Machine where the certificate should be added.
    url str

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    store String
    The certificate store on the Virtual Machine where the certificate should be added.
    url String

    The Secret URL of a Key Vault Certificate.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    WindowsVirtualMachineScaleSetSourceImageReference, WindowsVirtualMachineScaleSetSourceImageReferenceArgs

    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.

    WindowsVirtualMachineScaleSetSpotRestore, WindowsVirtualMachineScaleSetSpotRestoreArgs

    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 true or false. Defaults to false. 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 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. 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 true or false. Defaults to false. 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 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. 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 true or false. Defaults to false. 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 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. 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 true or false. Defaults to false. 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 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. 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 true or false. Defaults to false. 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 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. 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 true or false. Defaults to false. 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 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.

    WindowsVirtualMachineScaleSetTerminationNotification, WindowsVirtualMachineScaleSetTerminationNotificationArgs

    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.

    WindowsVirtualMachineScaleSetWinrmListener, WindowsVirtualMachineScaleSetWinrmListenerArgs

    Protocol string
    The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
    CertificateUrl string

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    Protocol string
    The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
    CertificateUrl string

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    protocol String
    The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
    certificateUrl String

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    protocol string
    The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
    certificateUrl string

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    protocol str
    The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
    certificate_url str

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    protocol String
    The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
    certificateUrl String

    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https. Changing this forces a new resource to be created.

    Note: This can be sourced from the secret_id field within the azure.keyvault.Certificate Resource.

    Import

    Windows Virtual Machine Scale Sets can be imported using the resource id, e.g.

    $ pulumi import azure:compute/windowsVirtualMachineScaleSet:WindowsVirtualMachineScaleSet 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 azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v6.2.0 published on Friday, Sep 27, 2024 by Pulumi