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

We recommend using Azure Native.

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

We recommend using Azure Native.

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

    Manages a Windows Virtual Machine Scale Set.

    Disclaimers

    NOTE: As of the v2.86.0 (November 19, 2021) release of the provider this resource will only create Virtual Machine Scale Sets with the Uniform Orchestration Mode.

    NOTE:: All arguments including the administrator login and password will be stored in the raw state as plain-text.

    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.

    using Pulumi;
    using Azure = Pulumi.Azure;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
            {
                Location = "West Europe",
            });
            var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("exampleVirtualNetwork", new Azure.Network.VirtualNetworkArgs
            {
                ResourceGroupName = exampleResourceGroup.Name,
                Location = exampleResourceGroup.Location,
                AddressSpaces = 
                {
                    "10.0.0.0/16",
                },
            });
            var @internal = new Azure.Network.Subnet("internal", new Azure.Network.SubnetArgs
            {
                ResourceGroupName = exampleResourceGroup.Name,
                VirtualNetworkName = exampleVirtualNetwork.Name,
                AddressPrefixes = 
                {
                    "10.0.2.0/24",
                },
            });
            var exampleWindowsVirtualMachineScaleSet = new Azure.Compute.WindowsVirtualMachineScaleSet("exampleWindowsVirtualMachineScaleSet", new Azure.Compute.WindowsVirtualMachineScaleSetArgs
            {
                ResourceGroupName = exampleResourceGroup.Name,
                Location = exampleResourceGroup.Location,
                Sku = "Standard_F2",
                Instances = 1,
                AdminPassword = "P@55w0rd1234!",
                AdminUsername = "adminuser",
                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 Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs
                    {
                        Name = "example",
                        Primary = true,
                        IpConfigurations = 
                        {
                            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
                            {
                                Name = "internal",
                                Primary = true,
                                SubnetId = @internal.Id,
                            },
                        },
                    },
                },
            });
        }
    
    }
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/compute"
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
    			ResourceGroupName: exampleResourceGroup.Name,
    			Location:          exampleResourceGroup.Location,
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.0.0.0/16"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		internal, err := network.NewSubnet(ctx, "internal", &network.SubnetArgs{
    			ResourceGroupName:  exampleResourceGroup.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.0.2.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewWindowsVirtualMachineScaleSet(ctx, "exampleWindowsVirtualMachineScaleSet", &compute.WindowsVirtualMachineScaleSetArgs{
    			ResourceGroupName: exampleResourceGroup.Name,
    			Location:          exampleResourceGroup.Location,
    			Sku:               pulumi.String("Standard_F2"),
    			Instances:         pulumi.Int(1),
    			AdminPassword:     pulumi.String("P@55w0rd1234!"),
    			AdminUsername:     pulumi.String("adminuser"),
    			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
    	})
    }
    

    Example coming soon!

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
    const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
        resourceGroupName: exampleResourceGroup.name,
        location: exampleResourceGroup.location,
        addressSpaces: ["10.0.0.0/16"],
    });
    const internal = new azure.network.Subnet("internal", {
        resourceGroupName: exampleResourceGroup.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.0.2.0/24"],
    });
    const exampleWindowsVirtualMachineScaleSet = new azure.compute.WindowsVirtualMachineScaleSet("exampleWindowsVirtualMachineScaleSet", {
        resourceGroupName: exampleResourceGroup.name,
        location: exampleResourceGroup.location,
        sku: "Standard_F2",
        instances: 1,
        adminPassword: "P@55w0rd1234!",
        adminUsername: "adminuser",
        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_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
    example_virtual_network = azure.network.VirtualNetwork("exampleVirtualNetwork",
        resource_group_name=example_resource_group.name,
        location=example_resource_group.location,
        address_spaces=["10.0.0.0/16"])
    internal = azure.network.Subnet("internal",
        resource_group_name=example_resource_group.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.0.2.0/24"])
    example_windows_virtual_machine_scale_set = azure.compute.WindowsVirtualMachineScaleSet("exampleWindowsVirtualMachineScaleSet",
        resource_group_name=example_resource_group.name,
        location=example_resource_group.location,
        sku="Standard_F2",
        instances=1,
        admin_password="P@55w0rd1234!",
        admin_username="adminuser",
        source_image_reference=azure.compute.WindowsVirtualMachineScaleSetSourceImageReferenceArgs(
            publisher="MicrosoftWindowsServer",
            offer="WindowsServer",
            sku="2016-Datacenter-Server-Core",
            version="latest",
        ),
        os_disk=azure.compute.WindowsVirtualMachineScaleSetOsDiskArgs(
            storage_account_type="Standard_LRS",
            caching="ReadWrite",
        ),
        network_interfaces=[azure.compute.WindowsVirtualMachineScaleSetNetworkInterfaceArgs(
            name="example",
            primary=True,
            ip_configurations=[azure.compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs(
                name="internal",
                primary=True,
                subnet_id=internal.id,
            )],
        )])
    

    Example coming soon!

    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,
                                      instances: Optional[int] = None,
                                      sku: Optional[str] = None,
                                      admin_password: Optional[str] = None,
                                      admin_username: Optional[str] = None,
                                      resource_group_name: Optional[str] = None,
                                      os_disk: Optional[WindowsVirtualMachineScaleSetOsDiskArgs] = None,
                                      network_interfaces: Optional[Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
                                      encryption_at_host_enabled: Optional[bool] = None,
                                      priority: Optional[str] = None,
                                      data_disks: Optional[Sequence[WindowsVirtualMachineScaleSetDataDiskArgs]] = None,
                                      do_not_run_extensions_on_overprovisioned_machines: Optional[bool] = None,
                                      enable_automatic_updates: Optional[bool] = None,
                                      additional_capabilities: Optional[WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
                                      eviction_policy: Optional[str] = None,
                                      extensions: Optional[Sequence[WindowsVirtualMachineScaleSetExtensionArgs]] = None,
                                      extensions_time_budget: Optional[str] = None,
                                      health_probe_id: Optional[str] = None,
                                      identity: Optional[WindowsVirtualMachineScaleSetIdentityArgs] = None,
                                      computer_name_prefix: Optional[str] = None,
                                      license_type: Optional[str] = None,
                                      location: Optional[str] = None,
                                      max_bid_price: Optional[float] = None,
                                      name: Optional[str] = None,
                                      boot_diagnostics: Optional[WindowsVirtualMachineScaleSetBootDiagnosticsArgs] = None,
                                      automatic_os_upgrade_policy: Optional[WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs] = None,
                                      overprovision: Optional[bool] = None,
                                      plan: Optional[WindowsVirtualMachineScaleSetPlanArgs] = None,
                                      platform_fault_domain_count: Optional[int] = None,
                                      custom_data: Optional[str] = None,
                                      provision_vm_agent: Optional[bool] = None,
                                      proximity_placement_group_id: Optional[str] = None,
                                      automatic_instance_repair: Optional[WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
                                      rolling_upgrade_policy: Optional[WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs] = None,
                                      scale_in_policy: Optional[str] = None,
                                      secrets: Optional[Sequence[WindowsVirtualMachineScaleSetSecretArgs]] = None,
                                      secure_boot_enabled: Optional[bool] = None,
                                      single_placement_group: Optional[bool] = None,
                                      additional_unattend_contents: Optional[Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]] = None,
                                      source_image_id: Optional[str] = None,
                                      source_image_reference: Optional[WindowsVirtualMachineScaleSetSourceImageReferenceArgs] = None,
                                      tags: Optional[Mapping[str, str]] = None,
                                      terminate_notification: Optional[WindowsVirtualMachineScaleSetTerminateNotificationArgs] = 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()
    {
        Instances = 0,
        Sku = "string",
        AdminPassword = "string",
        AdminUsername = "string",
        ResourceGroupName = "string",
        OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetOsDiskArgs
        {
            Caching = "string",
            StorageAccountType = "string",
            DiffDiskSettings = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs
            {
                Option = "string",
            },
            DiskEncryptionSetId = "string",
            DiskSizeGb = 0,
            WriteAcceleratorEnabled = false,
        },
        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",
                            },
                        },
                        SubnetId = "string",
                        Version = "string",
                    },
                },
                Name = "string",
                DnsServers = new[]
                {
                    "string",
                },
                EnableAcceleratedNetworking = false,
                EnableIpForwarding = false,
                NetworkSecurityGroupId = "string",
                Primary = false,
            },
        },
        EncryptionAtHostEnabled = false,
        Priority = "string",
        DataDisks = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetDataDiskArgs
            {
                Caching = "string",
                DiskSizeGb = 0,
                Lun = 0,
                StorageAccountType = "string",
                CreateOption = "string",
                DiskEncryptionSetId = "string",
                UltraSsdDiskIopsReadWrite = 0,
                UltraSsdDiskMbpsReadWrite = 0,
                WriteAcceleratorEnabled = false,
            },
        },
        DoNotRunExtensionsOnOverprovisionedMachines = false,
        EnableAutomaticUpdates = false,
        AdditionalCapabilities = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
        {
            UltraSsdEnabled = false,
        },
        EvictionPolicy = "string",
        Extensions = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetExtensionArgs
            {
                Name = "string",
                Publisher = "string",
                Type = "string",
                TypeHandlerVersion = "string",
                AutoUpgradeMinorVersion = false,
                AutomaticUpgradeEnabled = false,
                ForceUpdateTag = "string",
                ProtectedSettings = "string",
                ProvisionAfterExtensions = new[]
                {
                    "string",
                },
                Settings = "string",
            },
        },
        ExtensionsTimeBudget = "string",
        HealthProbeId = "string",
        Identity = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetIdentityArgs
        {
            Type = "string",
            IdentityIds = new[]
            {
                "string",
            },
            PrincipalId = "string",
            TenantId = "string",
        },
        ComputerNamePrefix = "string",
        LicenseType = "string",
        Location = "string",
        MaxBidPrice = 0,
        Name = "string",
        BootDiagnostics = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetBootDiagnosticsArgs
        {
            StorageAccountUri = "string",
        },
        AutomaticOsUpgradePolicy = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
        {
            DisableAutomaticRollback = false,
            EnableAutomaticOsUpgrade = false,
        },
        Overprovision = false,
        Plan = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetPlanArgs
        {
            Name = "string",
            Product = "string",
            Publisher = "string",
        },
        PlatformFaultDomainCount = 0,
        CustomData = "string",
        ProvisionVmAgent = false,
        ProximityPlacementGroupId = "string",
        AutomaticInstanceRepair = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs
        {
            Enabled = false,
            GracePeriod = "string",
        },
        RollingUpgradePolicy = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
        {
            MaxBatchInstancePercent = 0,
            MaxUnhealthyInstancePercent = 0,
            MaxUnhealthyUpgradedInstancePercent = 0,
            PauseTimeBetweenBatches = "string",
        },
        ScaleInPolicy = "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,
        AdditionalUnattendContents = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs
            {
                Content = "string",
                Setting = "string",
            },
        },
        SourceImageId = "string",
        SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSourceImageReferenceArgs
        {
            Offer = "string",
            Publisher = "string",
            Sku = "string",
            Version = "string",
        },
        Tags = 
        {
            { "string", "string" },
        },
        TerminateNotification = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetTerminateNotificationArgs
        {
            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{
    	Instances:         pulumi.Int(0),
    	Sku:               pulumi.String("string"),
    	AdminPassword:     pulumi.String("string"),
    	AdminUsername:     pulumi.String("string"),
    	ResourceGroupName: pulumi.String("string"),
    	OsDisk: &compute.WindowsVirtualMachineScaleSetOsDiskArgs{
    		Caching:            pulumi.String("string"),
    		StorageAccountType: pulumi.String("string"),
    		DiffDiskSettings: &compute.WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs{
    			Option: pulumi.String("string"),
    		},
    		DiskEncryptionSetId:     pulumi.String("string"),
    		DiskSizeGb:              pulumi.Int(0),
    		WriteAcceleratorEnabled: pulumi.Bool(false),
    	},
    	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"),
    						},
    					},
    					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),
    		},
    	},
    	EncryptionAtHostEnabled: pulumi.Bool(false),
    	Priority:                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"),
    			UltraSsdDiskIopsReadWrite: pulumi.Int(0),
    			UltraSsdDiskMbpsReadWrite: pulumi.Int(0),
    			WriteAcceleratorEnabled:   pulumi.Bool(false),
    		},
    	},
    	DoNotRunExtensionsOnOverprovisionedMachines: pulumi.Bool(false),
    	EnableAutomaticUpdates:                      pulumi.Bool(false),
    	AdditionalCapabilities: &compute.WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs{
    		UltraSsdEnabled: pulumi.Bool(false),
    	},
    	EvictionPolicy: pulumi.String("string"),
    	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"),
    			ProvisionAfterExtensions: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Settings: pulumi.String("string"),
    		},
    	},
    	ExtensionsTimeBudget: pulumi.String("string"),
    	HealthProbeId:        pulumi.String("string"),
    	Identity: &compute.WindowsVirtualMachineScaleSetIdentityArgs{
    		Type: pulumi.String("string"),
    		IdentityIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		PrincipalId: pulumi.String("string"),
    		TenantId:    pulumi.String("string"),
    	},
    	ComputerNamePrefix: pulumi.String("string"),
    	LicenseType:        pulumi.String("string"),
    	Location:           pulumi.String("string"),
    	MaxBidPrice:        pulumi.Float64(0),
    	Name:               pulumi.String("string"),
    	BootDiagnostics: &compute.WindowsVirtualMachineScaleSetBootDiagnosticsArgs{
    		StorageAccountUri: pulumi.String("string"),
    	},
    	AutomaticOsUpgradePolicy: &compute.WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs{
    		DisableAutomaticRollback: pulumi.Bool(false),
    		EnableAutomaticOsUpgrade: pulumi.Bool(false),
    	},
    	Overprovision: pulumi.Bool(false),
    	Plan: &compute.WindowsVirtualMachineScaleSetPlanArgs{
    		Name:      pulumi.String("string"),
    		Product:   pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    	},
    	PlatformFaultDomainCount:  pulumi.Int(0),
    	CustomData:                pulumi.String("string"),
    	ProvisionVmAgent:          pulumi.Bool(false),
    	ProximityPlacementGroupId: pulumi.String("string"),
    	AutomaticInstanceRepair: &compute.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs{
    		Enabled:     pulumi.Bool(false),
    		GracePeriod: pulumi.String("string"),
    	},
    	RollingUpgradePolicy: &compute.WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs{
    		MaxBatchInstancePercent:             pulumi.Int(0),
    		MaxUnhealthyInstancePercent:         pulumi.Int(0),
    		MaxUnhealthyUpgradedInstancePercent: pulumi.Int(0),
    		PauseTimeBetweenBatches:             pulumi.String("string"),
    	},
    	ScaleInPolicy: 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),
    	AdditionalUnattendContents: compute.WindowsVirtualMachineScaleSetAdditionalUnattendContentArray{
    		&compute.WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs{
    			Content: pulumi.String("string"),
    			Setting: pulumi.String("string"),
    		},
    	},
    	SourceImageId: pulumi.String("string"),
    	SourceImageReference: &compute.WindowsVirtualMachineScaleSetSourceImageReferenceArgs{
    		Offer:     pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    		Sku:       pulumi.String("string"),
    		Version:   pulumi.String("string"),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	TerminateNotification: &compute.WindowsVirtualMachineScaleSetTerminateNotificationArgs{
    		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()
        .instances(0)
        .sku("string")
        .adminPassword("string")
        .adminUsername("string")
        .resourceGroupName("string")
        .osDisk(WindowsVirtualMachineScaleSetOsDiskArgs.builder()
            .caching("string")
            .storageAccountType("string")
            .diffDiskSettings(WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs.builder()
                .option("string")
                .build())
            .diskEncryptionSetId("string")
            .diskSizeGb(0)
            .writeAcceleratorEnabled(false)
            .build())
        .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")
                    .build())
                .subnetId("string")
                .version("string")
                .build())
            .name("string")
            .dnsServers("string")
            .enableAcceleratedNetworking(false)
            .enableIpForwarding(false)
            .networkSecurityGroupId("string")
            .primary(false)
            .build())
        .encryptionAtHostEnabled(false)
        .priority("string")
        .dataDisks(WindowsVirtualMachineScaleSetDataDiskArgs.builder()
            .caching("string")
            .diskSizeGb(0)
            .lun(0)
            .storageAccountType("string")
            .createOption("string")
            .diskEncryptionSetId("string")
            .ultraSsdDiskIopsReadWrite(0)
            .ultraSsdDiskMbpsReadWrite(0)
            .writeAcceleratorEnabled(false)
            .build())
        .doNotRunExtensionsOnOverprovisionedMachines(false)
        .enableAutomaticUpdates(false)
        .additionalCapabilities(WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs.builder()
            .ultraSsdEnabled(false)
            .build())
        .evictionPolicy("string")
        .extensions(WindowsVirtualMachineScaleSetExtensionArgs.builder()
            .name("string")
            .publisher("string")
            .type("string")
            .typeHandlerVersion("string")
            .autoUpgradeMinorVersion(false)
            .automaticUpgradeEnabled(false)
            .forceUpdateTag("string")
            .protectedSettings("string")
            .provisionAfterExtensions("string")
            .settings("string")
            .build())
        .extensionsTimeBudget("string")
        .healthProbeId("string")
        .identity(WindowsVirtualMachineScaleSetIdentityArgs.builder()
            .type("string")
            .identityIds("string")
            .principalId("string")
            .tenantId("string")
            .build())
        .computerNamePrefix("string")
        .licenseType("string")
        .location("string")
        .maxBidPrice(0.0)
        .name("string")
        .bootDiagnostics(WindowsVirtualMachineScaleSetBootDiagnosticsArgs.builder()
            .storageAccountUri("string")
            .build())
        .automaticOsUpgradePolicy(WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs.builder()
            .disableAutomaticRollback(false)
            .enableAutomaticOsUpgrade(false)
            .build())
        .overprovision(false)
        .plan(WindowsVirtualMachineScaleSetPlanArgs.builder()
            .name("string")
            .product("string")
            .publisher("string")
            .build())
        .platformFaultDomainCount(0)
        .customData("string")
        .provisionVmAgent(false)
        .proximityPlacementGroupId("string")
        .automaticInstanceRepair(WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs.builder()
            .enabled(false)
            .gracePeriod("string")
            .build())
        .rollingUpgradePolicy(WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.builder()
            .maxBatchInstancePercent(0)
            .maxUnhealthyInstancePercent(0)
            .maxUnhealthyUpgradedInstancePercent(0)
            .pauseTimeBetweenBatches("string")
            .build())
        .scaleInPolicy("string")
        .secrets(WindowsVirtualMachineScaleSetSecretArgs.builder()
            .certificates(WindowsVirtualMachineScaleSetSecretCertificateArgs.builder()
                .store("string")
                .url("string")
                .build())
            .keyVaultId("string")
            .build())
        .secureBootEnabled(false)
        .singlePlacementGroup(false)
        .additionalUnattendContents(WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs.builder()
            .content("string")
            .setting("string")
            .build())
        .sourceImageId("string")
        .sourceImageReference(WindowsVirtualMachineScaleSetSourceImageReferenceArgs.builder()
            .offer("string")
            .publisher("string")
            .sku("string")
            .version("string")
            .build())
        .tags(Map.of("string", "string"))
        .terminateNotification(WindowsVirtualMachineScaleSetTerminateNotificationArgs.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",
        instances=0,
        sku="string",
        admin_password="string",
        admin_username="string",
        resource_group_name="string",
        os_disk={
            "caching": "string",
            "storage_account_type": "string",
            "diff_disk_settings": {
                "option": "string",
            },
            "disk_encryption_set_id": "string",
            "disk_size_gb": 0,
            "write_accelerator_enabled": False,
        },
        network_interfaces=[{
            "ip_configurations": [{
                "name": "string",
                "application_gateway_backend_address_pool_ids": ["string"],
                "application_security_group_ids": ["string"],
                "load_balancer_backend_address_pool_ids": ["string"],
                "load_balancer_inbound_nat_rules_ids": ["string"],
                "primary": False,
                "public_ip_addresses": [{
                    "name": "string",
                    "domain_name_label": "string",
                    "idle_timeout_in_minutes": 0,
                    "ip_tags": [{
                        "tag": "string",
                        "type": "string",
                    }],
                    "public_ip_prefix_id": "string",
                }],
                "subnet_id": "string",
                "version": "string",
            }],
            "name": "string",
            "dns_servers": ["string"],
            "enable_accelerated_networking": False,
            "enable_ip_forwarding": False,
            "network_security_group_id": "string",
            "primary": False,
        }],
        encryption_at_host_enabled=False,
        priority="string",
        data_disks=[{
            "caching": "string",
            "disk_size_gb": 0,
            "lun": 0,
            "storage_account_type": "string",
            "create_option": "string",
            "disk_encryption_set_id": "string",
            "ultra_ssd_disk_iops_read_write": 0,
            "ultra_ssd_disk_mbps_read_write": 0,
            "write_accelerator_enabled": False,
        }],
        do_not_run_extensions_on_overprovisioned_machines=False,
        enable_automatic_updates=False,
        additional_capabilities={
            "ultra_ssd_enabled": False,
        },
        eviction_policy="string",
        extensions=[{
            "name": "string",
            "publisher": "string",
            "type": "string",
            "type_handler_version": "string",
            "auto_upgrade_minor_version": False,
            "automatic_upgrade_enabled": False,
            "force_update_tag": "string",
            "protected_settings": "string",
            "provision_after_extensions": ["string"],
            "settings": "string",
        }],
        extensions_time_budget="string",
        health_probe_id="string",
        identity={
            "type": "string",
            "identity_ids": ["string"],
            "principal_id": "string",
            "tenant_id": "string",
        },
        computer_name_prefix="string",
        license_type="string",
        location="string",
        max_bid_price=0,
        name="string",
        boot_diagnostics={
            "storage_account_uri": "string",
        },
        automatic_os_upgrade_policy={
            "disable_automatic_rollback": False,
            "enable_automatic_os_upgrade": False,
        },
        overprovision=False,
        plan={
            "name": "string",
            "product": "string",
            "publisher": "string",
        },
        platform_fault_domain_count=0,
        custom_data="string",
        provision_vm_agent=False,
        proximity_placement_group_id="string",
        automatic_instance_repair={
            "enabled": False,
            "grace_period": "string",
        },
        rolling_upgrade_policy={
            "max_batch_instance_percent": 0,
            "max_unhealthy_instance_percent": 0,
            "max_unhealthy_upgraded_instance_percent": 0,
            "pause_time_between_batches": "string",
        },
        scale_in_policy="string",
        secrets=[{
            "certificates": [{
                "store": "string",
                "url": "string",
            }],
            "key_vault_id": "string",
        }],
        secure_boot_enabled=False,
        single_placement_group=False,
        additional_unattend_contents=[{
            "content": "string",
            "setting": "string",
        }],
        source_image_id="string",
        source_image_reference={
            "offer": "string",
            "publisher": "string",
            "sku": "string",
            "version": "string",
        },
        tags={
            "string": "string",
        },
        terminate_notification={
            "enabled": False,
            "timeout": "string",
        },
        timezone="string",
        upgrade_mode="string",
        user_data="string",
        vtpm_enabled=False,
        winrm_listeners=[{
            "protocol": "string",
            "certificate_url": "string",
        }],
        zone_balance=False,
        zones=["string"])
    
    const windowsVirtualMachineScaleSetResource = new azure.compute.WindowsVirtualMachineScaleSet("windowsVirtualMachineScaleSetResource", {
        instances: 0,
        sku: "string",
        adminPassword: "string",
        adminUsername: "string",
        resourceGroupName: "string",
        osDisk: {
            caching: "string",
            storageAccountType: "string",
            diffDiskSettings: {
                option: "string",
            },
            diskEncryptionSetId: "string",
            diskSizeGb: 0,
            writeAcceleratorEnabled: false,
        },
        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",
                }],
                subnetId: "string",
                version: "string",
            }],
            name: "string",
            dnsServers: ["string"],
            enableAcceleratedNetworking: false,
            enableIpForwarding: false,
            networkSecurityGroupId: "string",
            primary: false,
        }],
        encryptionAtHostEnabled: false,
        priority: "string",
        dataDisks: [{
            caching: "string",
            diskSizeGb: 0,
            lun: 0,
            storageAccountType: "string",
            createOption: "string",
            diskEncryptionSetId: "string",
            ultraSsdDiskIopsReadWrite: 0,
            ultraSsdDiskMbpsReadWrite: 0,
            writeAcceleratorEnabled: false,
        }],
        doNotRunExtensionsOnOverprovisionedMachines: false,
        enableAutomaticUpdates: false,
        additionalCapabilities: {
            ultraSsdEnabled: false,
        },
        evictionPolicy: "string",
        extensions: [{
            name: "string",
            publisher: "string",
            type: "string",
            typeHandlerVersion: "string",
            autoUpgradeMinorVersion: false,
            automaticUpgradeEnabled: false,
            forceUpdateTag: "string",
            protectedSettings: "string",
            provisionAfterExtensions: ["string"],
            settings: "string",
        }],
        extensionsTimeBudget: "string",
        healthProbeId: "string",
        identity: {
            type: "string",
            identityIds: ["string"],
            principalId: "string",
            tenantId: "string",
        },
        computerNamePrefix: "string",
        licenseType: "string",
        location: "string",
        maxBidPrice: 0,
        name: "string",
        bootDiagnostics: {
            storageAccountUri: "string",
        },
        automaticOsUpgradePolicy: {
            disableAutomaticRollback: false,
            enableAutomaticOsUpgrade: false,
        },
        overprovision: false,
        plan: {
            name: "string",
            product: "string",
            publisher: "string",
        },
        platformFaultDomainCount: 0,
        customData: "string",
        provisionVmAgent: false,
        proximityPlacementGroupId: "string",
        automaticInstanceRepair: {
            enabled: false,
            gracePeriod: "string",
        },
        rollingUpgradePolicy: {
            maxBatchInstancePercent: 0,
            maxUnhealthyInstancePercent: 0,
            maxUnhealthyUpgradedInstancePercent: 0,
            pauseTimeBetweenBatches: "string",
        },
        scaleInPolicy: "string",
        secrets: [{
            certificates: [{
                store: "string",
                url: "string",
            }],
            keyVaultId: "string",
        }],
        secureBootEnabled: false,
        singlePlacementGroup: false,
        additionalUnattendContents: [{
            content: "string",
            setting: "string",
        }],
        sourceImageId: "string",
        sourceImageReference: {
            offer: "string",
            publisher: "string",
            sku: "string",
            version: "string",
        },
        tags: {
            string: "string",
        },
        terminateNotification: {
            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:
            enabled: false
            gracePeriod: string
        automaticOsUpgradePolicy:
            disableAutomaticRollback: false
            enableAutomaticOsUpgrade: false
        bootDiagnostics:
            storageAccountUri: string
        computerNamePrefix: string
        customData: string
        dataDisks:
            - caching: string
              createOption: string
              diskEncryptionSetId: string
              diskSizeGb: 0
              lun: 0
              storageAccountType: string
              ultraSsdDiskIopsReadWrite: 0
              ultraSsdDiskMbpsReadWrite: 0
              writeAcceleratorEnabled: false
        doNotRunExtensionsOnOverprovisionedMachines: false
        enableAutomaticUpdates: false
        encryptionAtHostEnabled: false
        evictionPolicy: string
        extensions:
            - autoUpgradeMinorVersion: false
              automaticUpgradeEnabled: false
              forceUpdateTag: string
              name: string
              protectedSettings: string
              provisionAfterExtensions:
                - string
              publisher: string
              settings: string
              type: string
              typeHandlerVersion: string
        extensionsTimeBudget: string
        healthProbeId: 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
                  subnetId: string
                  version: string
              name: string
              networkSecurityGroupId: string
              primary: false
        osDisk:
            caching: string
            diffDiskSettings:
                option: string
            diskEncryptionSetId: string
            diskSizeGb: 0
            storageAccountType: string
            writeAcceleratorEnabled: false
        overprovision: false
        plan:
            name: string
            product: string
            publisher: string
        platformFaultDomainCount: 0
        priority: string
        provisionVmAgent: false
        proximityPlacementGroupId: string
        resourceGroupName: string
        rollingUpgradePolicy:
            maxBatchInstancePercent: 0
            maxUnhealthyInstancePercent: 0
            maxUnhealthyUpgradedInstancePercent: 0
            pauseTimeBetweenBatches: string
        scaleInPolicy: 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
        tags:
            string: string
        terminateNotification:
            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

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

    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.
    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
    A additional_capabilities block as defined below.
    AdditionalUnattendContents List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below.
    AutomaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair
    A 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.
    AutomaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    BootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    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.
    CustomData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    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.
    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 documented below.
    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.
    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.
    ScaleInPolicy 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.
    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.
    SourceImageReference WindowsVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminateNotification WindowsVirtualMachineScaleSetTerminateNotification
    A terminate_notification block as defined below.
    Timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    UpgradeMode string
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    VtpmEnabled bool
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    Zones List<string>
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. 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.
    Instances int
    The number of Virtual Machines in the Scale Set.
    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
    A additional_capabilities block as defined below.
    AdditionalUnattendContents []WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs
    One or more additional_unattend_content blocks as defined below.
    AutomaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs
    A 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.
    AutomaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    BootDiagnostics WindowsVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    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.
    CustomData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    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.
    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 documented below.
    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.
    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.
    ScaleInPolicy 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.
    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.
    SourceImageReference WindowsVirtualMachineScaleSetSourceImageReferenceArgs
    A source_image_reference block as defined below.
    Tags map[string]string
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminateNotification WindowsVirtualMachineScaleSetTerminateNotificationArgs
    A terminate_notification block as defined below.
    Timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    UpgradeMode string
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    VtpmEnabled bool
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    Zones []string
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. 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.
    instances Integer
    The number of Virtual Machines in the Scale Set.
    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
    A additional_capabilities block as defined below.
    additionalUnattendContents List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below.
    automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair
    A 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.
    automaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    bootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    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.
    customData String
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    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.
    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 documented below.
    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.
    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.
    scaleInPolicy 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.
    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.
    sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    tags Map<String,String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminateNotification WindowsVirtualMachineScaleSetTerminateNotification
    A terminate_notification block as defined below.
    timezone String
    Specifies the time zone of the virtual machine, the possible values are defined here.
    upgradeMode String
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    vtpmEnabled Boolean
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    zones List<String>
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. 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.
    instances number
    The number of Virtual Machines in the Scale Set.
    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
    A additional_capabilities block as defined below.
    additionalUnattendContents WindowsVirtualMachineScaleSetAdditionalUnattendContent[]
    One or more additional_unattend_content blocks as defined below.
    automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair
    A 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.
    automaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    bootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    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.
    customData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    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.
    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 documented below.
    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.
    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.
    scaleInPolicy 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.
    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.
    sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminateNotification WindowsVirtualMachineScaleSetTerminateNotification
    A terminate_notification block as defined below.
    timezone string
    Specifies the time zone of the virtual machine, the possible values are defined here.
    upgradeMode string
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    userData string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    vtpmEnabled boolean
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    zones string[]
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. 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.
    instances int
    The number of Virtual Machines in the Scale Set.
    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
    A additional_capabilities block as defined below.
    additional_unattend_contents Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]
    One or more additional_unattend_content blocks as defined below.
    automatic_instance_repair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs
    A 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.
    automatic_os_upgrade_policy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    boot_diagnostics WindowsVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    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.
    custom_data str
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    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.
    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 documented below.
    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.
    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.
    scale_in_policy 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.
    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.
    source_image_reference WindowsVirtualMachineScaleSetSourceImageReferenceArgs
    A source_image_reference block as defined below.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminate_notification WindowsVirtualMachineScaleSetTerminateNotificationArgs
    A terminate_notification block as defined below.
    timezone str
    Specifies the time zone of the virtual machine, the possible values are defined here.
    upgrade_mode str
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    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 Plaform 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.
    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.
    zones Sequence[str]
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. 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.
    instances Number
    The number of Virtual Machines in the Scale Set.
    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
    A additional_capabilities block as defined below.
    additionalUnattendContents List<Property Map>
    One or more additional_unattend_content blocks as defined below.
    automaticInstanceRepair Property Map
    A 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.
    automaticOsUpgradePolicy Property Map
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    bootDiagnostics Property Map
    A boot_diagnostics block as defined below.
    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.
    customData String
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    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.
    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 documented below.
    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.
    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.
    scaleInPolicy 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.
    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.
    sourceImageReference Property Map
    A source_image_reference block as defined below.
    tags Map<String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminateNotification Property Map
    A terminate_notification block as defined below.
    timezone String
    Specifies the time zone of the virtual machine, the possible values are defined here.
    upgradeMode String
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    vtpmEnabled Boolean
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    zones List<String>
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource 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,
            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,
            enable_automatic_updates: Optional[bool] = None,
            encryption_at_host_enabled: Optional[bool] = None,
            eviction_policy: Optional[str] = None,
            extensions: Optional[Sequence[WindowsVirtualMachineScaleSetExtensionArgs]] = None,
            extensions_time_budget: Optional[str] = None,
            health_probe_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_policy: Optional[str] = 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,
            tags: Optional[Mapping[str, str]] = None,
            terminate_notification: Optional[WindowsVirtualMachineScaleSetTerminateNotificationArgs] = 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)
    resources:  _:    type: azure:compute:WindowsVirtualMachineScaleSet    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AdditionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
    A additional_capabilities block as defined below.
    AdditionalUnattendContents List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below.
    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    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
    A 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.
    AutomaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    BootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    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.
    CustomData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    Identity WindowsVirtualMachineScaleSetIdentity
    An identity block as defined below.
    Instances int
    The number of Virtual Machines in the Scale Set.
    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.
    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 documented below.
    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.
    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.
    ScaleInPolicy 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.
    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.
    SourceImageReference WindowsVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminateNotification WindowsVirtualMachineScaleSetTerminateNotification
    A terminate_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
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    VtpmEnabled bool
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    Zones List<string>
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.
    AdditionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
    A additional_capabilities block as defined below.
    AdditionalUnattendContents []WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs
    One or more additional_unattend_content blocks as defined below.
    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    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
    A 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.
    AutomaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    BootDiagnostics WindowsVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    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.
    CustomData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    Identity WindowsVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    Instances int
    The number of Virtual Machines in the Scale Set.
    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.
    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 documented below.
    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.
    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.
    ScaleInPolicy 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.
    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.
    SourceImageReference WindowsVirtualMachineScaleSetSourceImageReferenceArgs
    A source_image_reference block as defined below.
    Tags map[string]string
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    TerminateNotification WindowsVirtualMachineScaleSetTerminateNotificationArgs
    A terminate_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
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    VtpmEnabled bool
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    Zones []string
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.
    additionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
    A additional_capabilities block as defined below.
    additionalUnattendContents List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    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
    A 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.
    automaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    bootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    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.
    customData String
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    identity WindowsVirtualMachineScaleSetIdentity
    An identity block as defined below.
    instances Integer
    The number of Virtual Machines in the Scale Set.
    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.
    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 documented below.
    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.
    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.
    scaleInPolicy 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.
    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.
    sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    tags Map<String,String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminateNotification WindowsVirtualMachineScaleSetTerminateNotification
    A terminate_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
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    vtpmEnabled Boolean
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    zones List<String>
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.
    additionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
    A additional_capabilities block as defined below.
    additionalUnattendContents WindowsVirtualMachineScaleSetAdditionalUnattendContent[]
    One or more additional_unattend_content blocks as defined below.
    adminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    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
    A 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.
    automaticOsUpgradePolicy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    bootDiagnostics WindowsVirtualMachineScaleSetBootDiagnostics
    A boot_diagnostics block as defined below.
    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.
    customData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    identity WindowsVirtualMachineScaleSetIdentity
    An identity block as defined below.
    instances number
    The number of Virtual Machines in the Scale Set.
    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.
    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 documented below.
    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.
    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.
    scaleInPolicy 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.
    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.
    sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference
    A source_image_reference block as defined below.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminateNotification WindowsVirtualMachineScaleSetTerminateNotification
    A terminate_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
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    userData string
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    vtpmEnabled boolean
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    zones string[]
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.
    additional_capabilities WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
    A additional_capabilities block as defined below.
    additional_unattend_contents Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]
    One or more additional_unattend_content blocks as defined below.
    admin_password str
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    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
    A 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.
    automatic_os_upgrade_policy WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    boot_diagnostics WindowsVirtualMachineScaleSetBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    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.
    custom_data str
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    identity WindowsVirtualMachineScaleSetIdentityArgs
    An identity block as defined below.
    instances int
    The number of Virtual Machines in the Scale Set.
    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.
    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 documented below.
    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.
    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.
    scale_in_policy 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.
    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.
    source_image_reference WindowsVirtualMachineScaleSetSourceImageReferenceArgs
    A source_image_reference block as defined below.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminate_notification WindowsVirtualMachineScaleSetTerminateNotificationArgs
    A terminate_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
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    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 Plaform 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.
    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.
    zones Sequence[str]
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.
    additionalCapabilities Property Map
    A additional_capabilities block as defined below.
    additionalUnattendContents List<Property Map>
    One or more additional_unattend_content blocks as defined below.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    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
    A 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.
    automaticOsUpgradePolicy Property Map
    A automatic_os_upgrade_policy block as defined below. This can only be specified when upgrade_mode is set to Automatic.
    bootDiagnostics Property Map
    A boot_diagnostics block as defined below.
    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.
    customData String
    The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
    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.
    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
    The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
    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 90 minutes (PT1H30M).
    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.
    identity Property Map
    An identity block as defined below.
    instances Number
    The number of Virtual Machines in the Scale Set.
    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.
    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 documented below.
    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.
    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.
    scaleInPolicy 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.
    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.
    sourceImageReference Property Map
    A source_image_reference block as defined below.
    tags Map<String>
    A mapping of tags which should be assigned to this Virtual Machine Scale Set.
    terminateNotification Property Map
    A terminate_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
    Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
    vtpmEnabled Boolean
    Specifies if vTPM (Virtual Trusted Plaform 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.
    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.
    zones List<String>
    A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource 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? 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? 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? 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? 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? 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? 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?
    GracePeriod string
    Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format.
    Enabled bool
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
    GracePeriod string
    Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format.
    enabled Boolean
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
    gracePeriod String
    Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format.
    enabled boolean
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
    gracePeriod string
    Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format.
    enabled bool
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
    grace_period str
    Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format.
    enabled Boolean
    Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
    gracePeriod String
    Amount of time (in minutes, between 30 and 90, defaults to 30 minutes) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format.

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

    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, Premium_LRS and UltraSSD_LRS.
    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.
    DiskIopsReadWrite int
    Specifies the Read-Write IOPS for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_iops_read_write and will be removed in v3.0 of the provider

    DiskMbpsReadWrite int
    Specifies the bandwidth in MB per second for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_mbps_read_write and will be removed in v3.0 of the provider

    UltraSsdDiskIopsReadWrite int
    UltraSsdDiskMbpsReadWrite int
    WriteAcceleratorEnabled bool
    Should Write Accelerator be enabled for this Data Disk? Defaults to false.
    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, Premium_LRS and UltraSSD_LRS.
    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.
    DiskIopsReadWrite int
    Specifies the Read-Write IOPS for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_iops_read_write and will be removed in v3.0 of the provider

    DiskMbpsReadWrite int
    Specifies the bandwidth in MB per second for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_mbps_read_write and will be removed in v3.0 of the provider

    UltraSsdDiskIopsReadWrite int
    UltraSsdDiskMbpsReadWrite int
    WriteAcceleratorEnabled bool
    Should Write Accelerator be enabled for this Data Disk? Defaults to false.
    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, Premium_LRS and UltraSSD_LRS.
    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.
    diskIopsReadWrite Integer
    Specifies the Read-Write IOPS for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_iops_read_write and will be removed in v3.0 of the provider

    diskMbpsReadWrite Integer
    Specifies the bandwidth in MB per second for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_mbps_read_write and will be removed in v3.0 of the provider

    ultraSsdDiskIopsReadWrite Integer
    ultraSsdDiskMbpsReadWrite Integer
    writeAcceleratorEnabled Boolean
    Should Write Accelerator be enabled for this Data Disk? Defaults to false.
    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, Premium_LRS and UltraSSD_LRS.
    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.
    diskIopsReadWrite number
    Specifies the Read-Write IOPS for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_iops_read_write and will be removed in v3.0 of the provider

    diskMbpsReadWrite number
    Specifies the bandwidth in MB per second for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_mbps_read_write and will be removed in v3.0 of the provider

    ultraSsdDiskIopsReadWrite number
    ultraSsdDiskMbpsReadWrite number
    writeAcceleratorEnabled boolean
    Should Write Accelerator be enabled for this Data Disk? Defaults to false.
    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, Premium_LRS and UltraSSD_LRS.
    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.
    disk_iops_read_write int
    Specifies the Read-Write IOPS for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_iops_read_write and will be removed in v3.0 of the provider

    disk_mbps_read_write int
    Specifies the bandwidth in MB per second for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_mbps_read_write and will be removed in v3.0 of the provider

    ultra_ssd_disk_iops_read_write int
    ultra_ssd_disk_mbps_read_write int
    write_accelerator_enabled bool
    Should Write Accelerator be enabled for this Data Disk? Defaults to false.
    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, Premium_LRS and UltraSSD_LRS.
    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.
    diskIopsReadWrite Number
    Specifies the Read-Write IOPS for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_iops_read_write and will be removed in v3.0 of the provider

    diskMbpsReadWrite Number
    Specifies the bandwidth in MB per second for this Data Disk. Only settable for UltraSSD disks.

    Deprecated: This property has been renamed to ultra_ssd_disk_mbps_read_write and will be removed in v3.0 of the provider

    ultraSsdDiskIopsReadWrite Number
    ultraSsdDiskMbpsReadWrite Number
    writeAcceleratorEnabled Boolean
    Should Write Accelerator be enabled for this Data Disk? Defaults to false.

    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? Defaults to false.
    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.
    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.
    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? Defaults to false.
    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.
    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.
    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? Defaults to false.
    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.
    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.
    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? Defaults to false.
    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.
    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.
    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? Defaults to false.
    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.
    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.
    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? Defaults to false.
    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.
    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.

    WindowsVirtualMachineScaleSetIdentity, WindowsVirtualMachineScaleSetIdentityArgs

    Type string
    The type of Managed Identity which should be assigned to the Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    IdentityIds List<string>
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine Scale Set.
    PrincipalId string
    The ID of the System Managed Service Principal.
    TenantId string
    Type string
    The type of Managed Identity which should be assigned to the Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    IdentityIds []string
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine Scale Set.
    PrincipalId string
    The ID of the System Managed Service Principal.
    TenantId string
    type String
    The type of Managed Identity which should be assigned to the Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    identityIds List<String>
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine Scale Set.
    principalId String
    The ID of the System Managed Service Principal.
    tenantId String
    type string
    The type of Managed Identity which should be assigned to the Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    identityIds string[]
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine Scale Set.
    principalId string
    The ID of the System Managed Service Principal.
    tenantId string
    type str
    The type of Managed Identity which should be assigned to the Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    identity_ids Sequence[str]
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine Scale Set.
    principal_id str
    The ID of the System Managed Service Principal.
    tenant_id str
    type String
    The type of Managed Identity which should be assigned to the Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    identityIds List<String>
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine Scale Set.
    principalId String
    The ID of the System Managed Service Principal.
    tenantId String

    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?
    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?
    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?
    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?
    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?
    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?

    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.
    LoadBalancerInboundNatRulesIds List<string>
    A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
    Primary bool
    Is this the Primary IP Configuration for this Network Interface? Defaults to false.
    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.
    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.
    LoadBalancerInboundNatRulesIds []string
    A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
    Primary bool
    Is this the Primary IP Configuration for this Network Interface? Defaults to false.
    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.
    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.
    loadBalancerInboundNatRulesIds List<String>
    A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
    primary Boolean
    Is this the Primary IP Configuration for this Network Interface? Defaults to false.
    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.
    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.
    loadBalancerInboundNatRulesIds string[]
    A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
    primary boolean
    Is this the Primary IP Configuration for this Network Interface? Defaults to false.
    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.
    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.
    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.
    primary bool
    Is this the Primary IP Configuration for this Network Interface? Defaults to false.
    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.
    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.
    loadBalancerInboundNatRulesIds List<String>
    A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
    primary Boolean
    Is this the Primary IP Configuration for this Network Interface? Defaults to false.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.
    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.

    WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag, WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs

    Tag string
    The IP Tag associated with the Public IP, such as SQL or Storage.
    Type string
    The Type of IP Tag, such as FirstPartyUsage.
    Tag string
    The IP Tag associated with the Public IP, such as SQL or Storage.
    Type string
    The Type of IP Tag, such as FirstPartyUsage.
    tag String
    The IP Tag associated with the Public IP, such as SQL or Storage.
    type String
    The Type of IP Tag, such as FirstPartyUsage.
    tag string
    The IP Tag associated with the Public IP, such as SQL or Storage.
    type string
    The Type of IP Tag, such as FirstPartyUsage.
    tag str
    The IP Tag associated with the Public IP, such as SQL or Storage.
    type str
    The Type of IP Tag, such as FirstPartyUsage.
    tag String
    The IP Tag associated with the Public IP, such as SQL or Storage.
    type String
    The Type of IP Tag, such as FirstPartyUsage.

    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 and Premium_LRS.
    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.
    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.
    WriteAcceleratorEnabled bool
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    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 and Premium_LRS.
    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.
    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.
    WriteAcceleratorEnabled bool
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    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 and Premium_LRS.
    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.
    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.
    writeAcceleratorEnabled Boolean
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    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 and Premium_LRS.
    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.
    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.
    writeAcceleratorEnabled boolean
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    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 and Premium_LRS.
    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.
    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.
    write_accelerator_enabled bool
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    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 and Premium_LRS.
    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.
    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.
    writeAcceleratorEnabled Boolean
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.

    WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings, WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs

    Option string
    Option string
    option String
    option string
    option str
    option String

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

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

    WindowsVirtualMachineScaleSetSourceImageReference, WindowsVirtualMachineScaleSetSourceImageReferenceArgs

    Offer string
    Specifies the offer of the image used to create the virtual machines.
    Publisher string
    Specifies the publisher of the image used to create the virtual machines.
    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.
    Publisher string
    Specifies the publisher of the image used to create the virtual machines.
    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.
    publisher String
    Specifies the publisher of the image used to create the virtual machines.
    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.
    publisher string
    Specifies the publisher of the image used to create the virtual machines.
    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.
    publisher str
    Specifies the publisher of the image used to create the virtual machines.
    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.
    publisher String
    Specifies the publisher of the image used to create the virtual machines.
    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.

    WindowsVirtualMachineScaleSetTerminateNotification, WindowsVirtualMachineScaleSetTerminateNotificationArgs

    Enabled bool
    Should the terminate notification be enabled on this Virtual Machine Scale Set? Defaults to false.
    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.
    Enabled bool
    Should the terminate notification be enabled on this Virtual Machine Scale Set? Defaults to false.
    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.
    enabled Boolean
    Should the terminate notification be enabled on this Virtual Machine Scale Set? Defaults to false.
    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.
    enabled boolean
    Should the terminate notification be enabled on this Virtual Machine Scale Set? Defaults to false.
    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.
    enabled bool
    Should the terminate notification be enabled on this Virtual Machine Scale Set? Defaults to false.
    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.
    enabled Boolean
    Should the terminate notification be enabled on this Virtual Machine Scale Set? Defaults to false.
    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.

    WindowsVirtualMachineScaleSetWinrmListener, WindowsVirtualMachineScaleSetWinrmListenerArgs

    Protocol string
    The Protocol of the WinRM Listener. Possible values are Http and Https.
    CertificateUrl string
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    Protocol string
    The Protocol of the WinRM Listener. Possible values are Http and Https.
    CertificateUrl string
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    protocol String
    The Protocol of the WinRM Listener. Possible values are Http and Https.
    certificateUrl String
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    protocol string
    The Protocol of the WinRM Listener. Possible values are Http and Https.
    certificateUrl string
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    protocol str
    The Protocol of the WinRM Listener. Possible values are Http and Https.
    certificate_url str
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    protocol String
    The Protocol of the WinRM Listener. Possible values are Http and Https.
    certificateUrl String
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.

    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.

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