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

We recommend using Azure Native.

Azure v6.22.0 published on Tuesday, Apr 1, 2025 by Pulumi

azure.compute.WindowsVirtualMachineScaleSet

Explore with Pulumi AI

Manages a Windows Virtual Machine Scale Set.

Disclaimers

Note: This resource will only create Virtual Machine Scale Sets with the Uniform Orchestration Mode. For Virtual Machine Scale Sets with Flexible orchestration mode, use azure.compute.OrchestratedVirtualMachineScaleSet. Flexible orchestration mode is recommended for workloads on Azure.

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

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

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

Example Usage

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

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = new azure.core.ResourceGroup("example", {
    name: "example-resources",
    location: "West Europe",
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
    name: "example-network",
    resourceGroupName: example.name,
    location: example.location,
    addressSpaces: ["10.0.0.0/16"],
});
const internal = new azure.network.Subnet("internal", {
    name: "internal",
    resourceGroupName: example.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefixes: ["10.0.2.0/24"],
});
const exampleWindowsVirtualMachineScaleSet = new azure.compute.WindowsVirtualMachineScaleSet("example", {
    name: "example-vmss",
    resourceGroupName: example.name,
    location: example.location,
    sku: "Standard_F2",
    instances: 1,
    adminPassword: "P@55w0rd1234!",
    adminUsername: "adminuser",
    computerNamePrefix: "vm-",
    sourceImageReference: {
        publisher: "MicrosoftWindowsServer",
        offer: "WindowsServer",
        sku: "2016-Datacenter-Server-Core",
        version: "latest",
    },
    osDisk: {
        storageAccountType: "Standard_LRS",
        caching: "ReadWrite",
    },
    networkInterfaces: [{
        name: "example",
        primary: true,
        ipConfigurations: [{
            name: "internal",
            primary: true,
            subnetId: internal.id,
        }],
    }],
});
Copy
import pulumi
import pulumi_azure as azure

example = azure.core.ResourceGroup("example",
    name="example-resources",
    location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("example",
    name="example-network",
    resource_group_name=example.name,
    location=example.location,
    address_spaces=["10.0.0.0/16"])
internal = azure.network.Subnet("internal",
    name="internal",
    resource_group_name=example.name,
    virtual_network_name=example_virtual_network.name,
    address_prefixes=["10.0.2.0/24"])
example_windows_virtual_machine_scale_set = azure.compute.WindowsVirtualMachineScaleSet("example",
    name="example-vmss",
    resource_group_name=example.name,
    location=example.location,
    sku="Standard_F2",
    instances=1,
    admin_password="P@55w0rd1234!",
    admin_username="adminuser",
    computer_name_prefix="vm-",
    source_image_reference={
        "publisher": "MicrosoftWindowsServer",
        "offer": "WindowsServer",
        "sku": "2016-Datacenter-Server-Core",
        "version": "latest",
    },
    os_disk={
        "storage_account_type": "Standard_LRS",
        "caching": "ReadWrite",
    },
    network_interfaces=[{
        "name": "example",
        "primary": True,
        "ip_configurations": [{
            "name": "internal",
            "primary": True,
            "subnet_id": internal.id,
        }],
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
			Name:              pulumi.String("example-network"),
			ResourceGroupName: example.Name,
			Location:          example.Location,
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
		})
		if err != nil {
			return err
		}
		internal, err := network.NewSubnet(ctx, "internal", &network.SubnetArgs{
			Name:               pulumi.String("internal"),
			ResourceGroupName:  example.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewWindowsVirtualMachineScaleSet(ctx, "example", &compute.WindowsVirtualMachineScaleSetArgs{
			Name:               pulumi.String("example-vmss"),
			ResourceGroupName:  example.Name,
			Location:           example.Location,
			Sku:                pulumi.String("Standard_F2"),
			Instances:          pulumi.Int(1),
			AdminPassword:      pulumi.String("P@55w0rd1234!"),
			AdminUsername:      pulumi.String("adminuser"),
			ComputerNamePrefix: pulumi.String("vm-"),
			SourceImageReference: &compute.WindowsVirtualMachineScaleSetSourceImageReferenceArgs{
				Publisher: pulumi.String("MicrosoftWindowsServer"),
				Offer:     pulumi.String("WindowsServer"),
				Sku:       pulumi.String("2016-Datacenter-Server-Core"),
				Version:   pulumi.String("latest"),
			},
			OsDisk: &compute.WindowsVirtualMachineScaleSetOsDiskArgs{
				StorageAccountType: pulumi.String("Standard_LRS"),
				Caching:            pulumi.String("ReadWrite"),
			},
			NetworkInterfaces: compute.WindowsVirtualMachineScaleSetNetworkInterfaceArray{
				&compute.WindowsVirtualMachineScaleSetNetworkInterfaceArgs{
					Name:    pulumi.String("example"),
					Primary: pulumi.Bool(true),
					IpConfigurations: compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
						&compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
							Name:     pulumi.String("internal"),
							Primary:  pulumi.Bool(true),
							SubnetId: internal.ID(),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Name = "example-resources",
        Location = "West Europe",
    });

    var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
    {
        Name = "example-network",
        ResourceGroupName = example.Name,
        Location = example.Location,
        AddressSpaces = new[]
        {
            "10.0.0.0/16",
        },
    });

    var @internal = new Azure.Network.Subnet("internal", new()
    {
        Name = "internal",
        ResourceGroupName = example.Name,
        VirtualNetworkName = exampleVirtualNetwork.Name,
        AddressPrefixes = new[]
        {
            "10.0.2.0/24",
        },
    });

    var exampleWindowsVirtualMachineScaleSet = new Azure.Compute.WindowsVirtualMachineScaleSet("example", new()
    {
        Name = "example-vmss",
        ResourceGroupName = example.Name,
        Location = example.Location,
        Sku = "Standard_F2",
        Instances = 1,
        AdminPassword = "P@55w0rd1234!",
        AdminUsername = "adminuser",
        ComputerNamePrefix = "vm-",
        SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSourceImageReferenceArgs
        {
            Publisher = "MicrosoftWindowsServer",
            Offer = "WindowsServer",
            Sku = "2016-Datacenter-Server-Core",
            Version = "latest",
        },
        OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetOsDiskArgs
        {
            StorageAccountType = "Standard_LRS",
            Caching = "ReadWrite",
        },
        NetworkInterfaces = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs
            {
                Name = "example",
                Primary = true,
                IpConfigurations = new[]
                {
                    new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
                    {
                        Name = "internal",
                        Primary = true,
                        SubnetId = @internal.Id,
                    },
                },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.compute.WindowsVirtualMachineScaleSet;
import com.pulumi.azure.compute.WindowsVirtualMachineScaleSetArgs;
import com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetSourceImageReferenceArgs;
import com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetOsDiskArgs;
import com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new ResourceGroup("example", ResourceGroupArgs.builder()
            .name("example-resources")
            .location("West Europe")
            .build());

        var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
            .name("example-network")
            .resourceGroupName(example.name())
            .location(example.location())
            .addressSpaces("10.0.0.0/16")
            .build());

        var internal = new Subnet("internal", SubnetArgs.builder()
            .name("internal")
            .resourceGroupName(example.name())
            .virtualNetworkName(exampleVirtualNetwork.name())
            .addressPrefixes("10.0.2.0/24")
            .build());

        var exampleWindowsVirtualMachineScaleSet = new WindowsVirtualMachineScaleSet("exampleWindowsVirtualMachineScaleSet", WindowsVirtualMachineScaleSetArgs.builder()
            .name("example-vmss")
            .resourceGroupName(example.name())
            .location(example.location())
            .sku("Standard_F2")
            .instances(1)
            .adminPassword("P@55w0rd1234!")
            .adminUsername("adminuser")
            .computerNamePrefix("vm-")
            .sourceImageReference(WindowsVirtualMachineScaleSetSourceImageReferenceArgs.builder()
                .publisher("MicrosoftWindowsServer")
                .offer("WindowsServer")
                .sku("2016-Datacenter-Server-Core")
                .version("latest")
                .build())
            .osDisk(WindowsVirtualMachineScaleSetOsDiskArgs.builder()
                .storageAccountType("Standard_LRS")
                .caching("ReadWrite")
                .build())
            .networkInterfaces(WindowsVirtualMachineScaleSetNetworkInterfaceArgs.builder()
                .name("example")
                .primary(true)
                .ipConfigurations(WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
                    .name("internal")
                    .primary(true)
                    .subnetId(internal.id())
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  example:
    type: azure:core:ResourceGroup
    properties:
      name: example-resources
      location: West Europe
  exampleVirtualNetwork:
    type: azure:network:VirtualNetwork
    name: example
    properties:
      name: example-network
      resourceGroupName: ${example.name}
      location: ${example.location}
      addressSpaces:
        - 10.0.0.0/16
  internal:
    type: azure:network:Subnet
    properties:
      name: internal
      resourceGroupName: ${example.name}
      virtualNetworkName: ${exampleVirtualNetwork.name}
      addressPrefixes:
        - 10.0.2.0/24
  exampleWindowsVirtualMachineScaleSet:
    type: azure:compute:WindowsVirtualMachineScaleSet
    name: example
    properties:
      name: example-vmss
      resourceGroupName: ${example.name}
      location: ${example.location}
      sku: Standard_F2
      instances: 1
      adminPassword: P@55w0rd1234!
      adminUsername: adminuser
      computerNamePrefix: vm-
      sourceImageReference:
        publisher: MicrosoftWindowsServer
        offer: WindowsServer
        sku: 2016-Datacenter-Server-Core
        version: latest
      osDisk:
        storageAccountType: Standard_LRS
        caching: ReadWrite
      networkInterfaces:
        - name: example
          primary: true
          ipConfigurations:
            - name: internal
              primary: true
              subnetId: ${internal.id}
Copy

Create WindowsVirtualMachineScaleSet Resource

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

Constructor syntax

new WindowsVirtualMachineScaleSet(name: string, args: WindowsVirtualMachineScaleSetArgs, opts?: CustomResourceOptions);
@overload
def WindowsVirtualMachineScaleSet(resource_name: str,
                                  args: WindowsVirtualMachineScaleSetArgs,
                                  opts: Optional[ResourceOptions] = None)

@overload
def WindowsVirtualMachineScaleSet(resource_name: str,
                                  opts: Optional[ResourceOptions] = None,
                                  admin_password: Optional[str] = None,
                                  admin_username: Optional[str] = None,
                                  instances: Optional[int] = None,
                                  network_interfaces: Optional[Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
                                  os_disk: Optional[WindowsVirtualMachineScaleSetOsDiskArgs] = None,
                                  sku: Optional[str] = None,
                                  resource_group_name: Optional[str] = None,
                                  license_type: Optional[str] = None,
                                  overprovision: Optional[bool] = None,
                                  boot_diagnostics: Optional[WindowsVirtualMachineScaleSetBootDiagnosticsArgs] = None,
                                  capacity_reservation_group_id: Optional[str] = None,
                                  computer_name_prefix: Optional[str] = None,
                                  custom_data: Optional[str] = None,
                                  data_disks: Optional[Sequence[WindowsVirtualMachineScaleSetDataDiskArgs]] = None,
                                  do_not_run_extensions_on_overprovisioned_machines: Optional[bool] = None,
                                  edge_zone: Optional[str] = None,
                                  enable_automatic_updates: Optional[bool] = None,
                                  encryption_at_host_enabled: Optional[bool] = None,
                                  eviction_policy: Optional[str] = None,
                                  extension_operations_enabled: Optional[bool] = None,
                                  extensions: Optional[Sequence[WindowsVirtualMachineScaleSetExtensionArgs]] = None,
                                  extensions_time_budget: Optional[str] = None,
                                  gallery_applications: Optional[Sequence[WindowsVirtualMachineScaleSetGalleryApplicationArgs]] = None,
                                  health_probe_id: Optional[str] = None,
                                  host_group_id: Optional[str] = None,
                                  identity: Optional[WindowsVirtualMachineScaleSetIdentityArgs] = None,
                                  automatic_instance_repair: Optional[WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
                                  location: Optional[str] = None,
                                  max_bid_price: Optional[float] = None,
                                  name: Optional[str] = None,
                                  automatic_os_upgrade_policy: Optional[WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs] = None,
                                  plan: Optional[WindowsVirtualMachineScaleSetPlanArgs] = None,
                                  platform_fault_domain_count: Optional[int] = None,
                                  priority: Optional[str] = None,
                                  provision_vm_agent: Optional[bool] = None,
                                  proximity_placement_group_id: Optional[str] = None,
                                  additional_unattend_contents: Optional[Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]] = None,
                                  rolling_upgrade_policy: Optional[WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs] = None,
                                  scale_in: Optional[WindowsVirtualMachineScaleSetScaleInArgs] = None,
                                  secrets: Optional[Sequence[WindowsVirtualMachineScaleSetSecretArgs]] = None,
                                  secure_boot_enabled: Optional[bool] = None,
                                  single_placement_group: Optional[bool] = None,
                                  additional_capabilities: Optional[WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
                                  source_image_id: Optional[str] = None,
                                  source_image_reference: Optional[WindowsVirtualMachineScaleSetSourceImageReferenceArgs] = None,
                                  spot_restore: Optional[WindowsVirtualMachineScaleSetSpotRestoreArgs] = None,
                                  tags: Optional[Mapping[str, str]] = None,
                                  termination_notification: Optional[WindowsVirtualMachineScaleSetTerminationNotificationArgs] = None,
                                  timezone: Optional[str] = None,
                                  upgrade_mode: Optional[str] = None,
                                  user_data: Optional[str] = None,
                                  vtpm_enabled: Optional[bool] = None,
                                  winrm_listeners: Optional[Sequence[WindowsVirtualMachineScaleSetWinrmListenerArgs]] = None,
                                  zone_balance: Optional[bool] = None,
                                  zones: Optional[Sequence[str]] = None)
func NewWindowsVirtualMachineScaleSet(ctx *Context, name string, args WindowsVirtualMachineScaleSetArgs, opts ...ResourceOption) (*WindowsVirtualMachineScaleSet, error)
public WindowsVirtualMachineScaleSet(string name, WindowsVirtualMachineScaleSetArgs args, CustomResourceOptions? opts = null)
public WindowsVirtualMachineScaleSet(String name, WindowsVirtualMachineScaleSetArgs args)
public WindowsVirtualMachineScaleSet(String name, WindowsVirtualMachineScaleSetArgs args, CustomResourceOptions options)
type: azure:compute:WindowsVirtualMachineScaleSet
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. WindowsVirtualMachineScaleSetArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. WindowsVirtualMachineScaleSetArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. WindowsVirtualMachineScaleSetArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. WindowsVirtualMachineScaleSetArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

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

var windowsVirtualMachineScaleSetResource = new Azure.Compute.WindowsVirtualMachineScaleSet("windowsVirtualMachineScaleSetResource", new()
{
    AdminPassword = "string",
    AdminUsername = "string",
    Instances = 0,
    NetworkInterfaces = new[]
    {
        new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceArgs
        {
            IpConfigurations = new[]
            {
                new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
                {
                    Name = "string",
                    ApplicationGatewayBackendAddressPoolIds = new[]
                    {
                        "string",
                    },
                    ApplicationSecurityGroupIds = new[]
                    {
                        "string",
                    },
                    LoadBalancerBackendAddressPoolIds = new[]
                    {
                        "string",
                    },
                    LoadBalancerInboundNatRulesIds = new[]
                    {
                        "string",
                    },
                    Primary = false,
                    PublicIpAddresses = new[]
                    {
                        new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs
                        {
                            Name = "string",
                            DomainNameLabel = "string",
                            IdleTimeoutInMinutes = 0,
                            IpTags = new[]
                            {
                                new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs
                                {
                                    Tag = "string",
                                    Type = "string",
                                },
                            },
                            PublicIpPrefixId = "string",
                            Version = "string",
                        },
                    },
                    SubnetId = "string",
                    Version = "string",
                },
            },
            Name = "string",
            DnsServers = new[]
            {
                "string",
            },
            EnableAcceleratedNetworking = false,
            EnableIpForwarding = false,
            NetworkSecurityGroupId = "string",
            Primary = false,
        },
    },
    OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetOsDiskArgs
    {
        Caching = "string",
        StorageAccountType = "string",
        DiffDiskSettings = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs
        {
            Option = "string",
            Placement = "string",
        },
        DiskEncryptionSetId = "string",
        DiskSizeGb = 0,
        SecureVmDiskEncryptionSetId = "string",
        SecurityEncryptionType = "string",
        WriteAcceleratorEnabled = false,
    },
    Sku = "string",
    ResourceGroupName = "string",
    LicenseType = "string",
    Overprovision = false,
    BootDiagnostics = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetBootDiagnosticsArgs
    {
        StorageAccountUri = "string",
    },
    CapacityReservationGroupId = "string",
    ComputerNamePrefix = "string",
    CustomData = "string",
    DataDisks = new[]
    {
        new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetDataDiskArgs
        {
            Caching = "string",
            DiskSizeGb = 0,
            Lun = 0,
            StorageAccountType = "string",
            CreateOption = "string",
            DiskEncryptionSetId = "string",
            Name = "string",
            UltraSsdDiskIopsReadWrite = 0,
            UltraSsdDiskMbpsReadWrite = 0,
            WriteAcceleratorEnabled = false,
        },
    },
    DoNotRunExtensionsOnOverprovisionedMachines = false,
    EdgeZone = "string",
    EnableAutomaticUpdates = false,
    EncryptionAtHostEnabled = false,
    EvictionPolicy = "string",
    ExtensionOperationsEnabled = false,
    Extensions = new[]
    {
        new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetExtensionArgs
        {
            Name = "string",
            Publisher = "string",
            Type = "string",
            TypeHandlerVersion = "string",
            AutoUpgradeMinorVersion = false,
            AutomaticUpgradeEnabled = false,
            ForceUpdateTag = "string",
            ProtectedSettings = "string",
            ProtectedSettingsFromKeyVault = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs
            {
                SecretUrl = "string",
                SourceVaultId = "string",
            },
            ProvisionAfterExtensions = new[]
            {
                "string",
            },
            Settings = "string",
        },
    },
    ExtensionsTimeBudget = "string",
    GalleryApplications = new[]
    {
        new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetGalleryApplicationArgs
        {
            VersionId = "string",
            ConfigurationBlobUri = "string",
            Order = 0,
            Tag = "string",
        },
    },
    HealthProbeId = "string",
    HostGroupId = "string",
    Identity = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetIdentityArgs
    {
        Type = "string",
        IdentityIds = new[]
        {
            "string",
        },
        PrincipalId = "string",
        TenantId = "string",
    },
    AutomaticInstanceRepair = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs
    {
        Enabled = false,
        Action = "string",
        GracePeriod = "string",
    },
    Location = "string",
    MaxBidPrice = 0,
    Name = "string",
    AutomaticOsUpgradePolicy = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
    {
        DisableAutomaticRollback = false,
        EnableAutomaticOsUpgrade = false,
    },
    Plan = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetPlanArgs
    {
        Name = "string",
        Product = "string",
        Publisher = "string",
    },
    PlatformFaultDomainCount = 0,
    Priority = "string",
    ProvisionVmAgent = false,
    ProximityPlacementGroupId = "string",
    AdditionalUnattendContents = new[]
    {
        new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs
        {
            Content = "string",
            Setting = "string",
        },
    },
    RollingUpgradePolicy = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
    {
        MaxBatchInstancePercent = 0,
        MaxUnhealthyInstancePercent = 0,
        MaxUnhealthyUpgradedInstancePercent = 0,
        PauseTimeBetweenBatches = "string",
        CrossZoneUpgradesEnabled = false,
        MaximumSurgeInstancesEnabled = false,
        PrioritizeUnhealthyInstancesEnabled = false,
    },
    ScaleIn = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetScaleInArgs
    {
        ForceDeletionEnabled = false,
        Rule = "string",
    },
    Secrets = new[]
    {
        new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSecretArgs
        {
            Certificates = new[]
            {
                new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSecretCertificateArgs
                {
                    Store = "string",
                    Url = "string",
                },
            },
            KeyVaultId = "string",
        },
    },
    SecureBootEnabled = false,
    SinglePlacementGroup = false,
    AdditionalCapabilities = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
    {
        UltraSsdEnabled = false,
    },
    SourceImageId = "string",
    SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSourceImageReferenceArgs
    {
        Offer = "string",
        Publisher = "string",
        Sku = "string",
        Version = "string",
    },
    SpotRestore = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetSpotRestoreArgs
    {
        Enabled = false,
        Timeout = "string",
    },
    Tags = 
    {
        { "string", "string" },
    },
    TerminationNotification = new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetTerminationNotificationArgs
    {
        Enabled = false,
        Timeout = "string",
    },
    Timezone = "string",
    UpgradeMode = "string",
    UserData = "string",
    VtpmEnabled = false,
    WinrmListeners = new[]
    {
        new Azure.Compute.Inputs.WindowsVirtualMachineScaleSetWinrmListenerArgs
        {
            Protocol = "string",
            CertificateUrl = "string",
        },
    },
    ZoneBalance = false,
    Zones = new[]
    {
        "string",
    },
});
Copy
example, err := compute.NewWindowsVirtualMachineScaleSet(ctx, "windowsVirtualMachineScaleSetResource", &compute.WindowsVirtualMachineScaleSetArgs{
	AdminPassword: pulumi.String("string"),
	AdminUsername: pulumi.String("string"),
	Instances:     pulumi.Int(0),
	NetworkInterfaces: compute.WindowsVirtualMachineScaleSetNetworkInterfaceArray{
		&compute.WindowsVirtualMachineScaleSetNetworkInterfaceArgs{
			IpConfigurations: compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
				&compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
					Name: pulumi.String("string"),
					ApplicationGatewayBackendAddressPoolIds: pulumi.StringArray{
						pulumi.String("string"),
					},
					ApplicationSecurityGroupIds: pulumi.StringArray{
						pulumi.String("string"),
					},
					LoadBalancerBackendAddressPoolIds: pulumi.StringArray{
						pulumi.String("string"),
					},
					LoadBalancerInboundNatRulesIds: pulumi.StringArray{
						pulumi.String("string"),
					},
					Primary: pulumi.Bool(false),
					PublicIpAddresses: compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArray{
						&compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs{
							Name:                 pulumi.String("string"),
							DomainNameLabel:      pulumi.String("string"),
							IdleTimeoutInMinutes: pulumi.Int(0),
							IpTags: compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArray{
								&compute.WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs{
									Tag:  pulumi.String("string"),
									Type: pulumi.String("string"),
								},
							},
							PublicIpPrefixId: pulumi.String("string"),
							Version:          pulumi.String("string"),
						},
					},
					SubnetId: pulumi.String("string"),
					Version:  pulumi.String("string"),
				},
			},
			Name: pulumi.String("string"),
			DnsServers: pulumi.StringArray{
				pulumi.String("string"),
			},
			EnableAcceleratedNetworking: pulumi.Bool(false),
			EnableIpForwarding:          pulumi.Bool(false),
			NetworkSecurityGroupId:      pulumi.String("string"),
			Primary:                     pulumi.Bool(false),
		},
	},
	OsDisk: &compute.WindowsVirtualMachineScaleSetOsDiskArgs{
		Caching:            pulumi.String("string"),
		StorageAccountType: pulumi.String("string"),
		DiffDiskSettings: &compute.WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs{
			Option:    pulumi.String("string"),
			Placement: pulumi.String("string"),
		},
		DiskEncryptionSetId:         pulumi.String("string"),
		DiskSizeGb:                  pulumi.Int(0),
		SecureVmDiskEncryptionSetId: pulumi.String("string"),
		SecurityEncryptionType:      pulumi.String("string"),
		WriteAcceleratorEnabled:     pulumi.Bool(false),
	},
	Sku:               pulumi.String("string"),
	ResourceGroupName: pulumi.String("string"),
	LicenseType:       pulumi.String("string"),
	Overprovision:     pulumi.Bool(false),
	BootDiagnostics: &compute.WindowsVirtualMachineScaleSetBootDiagnosticsArgs{
		StorageAccountUri: pulumi.String("string"),
	},
	CapacityReservationGroupId: pulumi.String("string"),
	ComputerNamePrefix:         pulumi.String("string"),
	CustomData:                 pulumi.String("string"),
	DataDisks: compute.WindowsVirtualMachineScaleSetDataDiskArray{
		&compute.WindowsVirtualMachineScaleSetDataDiskArgs{
			Caching:                   pulumi.String("string"),
			DiskSizeGb:                pulumi.Int(0),
			Lun:                       pulumi.Int(0),
			StorageAccountType:        pulumi.String("string"),
			CreateOption:              pulumi.String("string"),
			DiskEncryptionSetId:       pulumi.String("string"),
			Name:                      pulumi.String("string"),
			UltraSsdDiskIopsReadWrite: pulumi.Int(0),
			UltraSsdDiskMbpsReadWrite: pulumi.Int(0),
			WriteAcceleratorEnabled:   pulumi.Bool(false),
		},
	},
	DoNotRunExtensionsOnOverprovisionedMachines: pulumi.Bool(false),
	EdgeZone:                   pulumi.String("string"),
	EnableAutomaticUpdates:     pulumi.Bool(false),
	EncryptionAtHostEnabled:    pulumi.Bool(false),
	EvictionPolicy:             pulumi.String("string"),
	ExtensionOperationsEnabled: pulumi.Bool(false),
	Extensions: compute.WindowsVirtualMachineScaleSetExtensionArray{
		&compute.WindowsVirtualMachineScaleSetExtensionArgs{
			Name:                    pulumi.String("string"),
			Publisher:               pulumi.String("string"),
			Type:                    pulumi.String("string"),
			TypeHandlerVersion:      pulumi.String("string"),
			AutoUpgradeMinorVersion: pulumi.Bool(false),
			AutomaticUpgradeEnabled: pulumi.Bool(false),
			ForceUpdateTag:          pulumi.String("string"),
			ProtectedSettings:       pulumi.String("string"),
			ProtectedSettingsFromKeyVault: &compute.WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs{
				SecretUrl:     pulumi.String("string"),
				SourceVaultId: pulumi.String("string"),
			},
			ProvisionAfterExtensions: pulumi.StringArray{
				pulumi.String("string"),
			},
			Settings: pulumi.String("string"),
		},
	},
	ExtensionsTimeBudget: pulumi.String("string"),
	GalleryApplications: compute.WindowsVirtualMachineScaleSetGalleryApplicationArray{
		&compute.WindowsVirtualMachineScaleSetGalleryApplicationArgs{
			VersionId:            pulumi.String("string"),
			ConfigurationBlobUri: pulumi.String("string"),
			Order:                pulumi.Int(0),
			Tag:                  pulumi.String("string"),
		},
	},
	HealthProbeId: pulumi.String("string"),
	HostGroupId:   pulumi.String("string"),
	Identity: &compute.WindowsVirtualMachineScaleSetIdentityArgs{
		Type: pulumi.String("string"),
		IdentityIds: pulumi.StringArray{
			pulumi.String("string"),
		},
		PrincipalId: pulumi.String("string"),
		TenantId:    pulumi.String("string"),
	},
	AutomaticInstanceRepair: &compute.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs{
		Enabled:     pulumi.Bool(false),
		Action:      pulumi.String("string"),
		GracePeriod: pulumi.String("string"),
	},
	Location:    pulumi.String("string"),
	MaxBidPrice: pulumi.Float64(0),
	Name:        pulumi.String("string"),
	AutomaticOsUpgradePolicy: &compute.WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs{
		DisableAutomaticRollback: pulumi.Bool(false),
		EnableAutomaticOsUpgrade: pulumi.Bool(false),
	},
	Plan: &compute.WindowsVirtualMachineScaleSetPlanArgs{
		Name:      pulumi.String("string"),
		Product:   pulumi.String("string"),
		Publisher: pulumi.String("string"),
	},
	PlatformFaultDomainCount:  pulumi.Int(0),
	Priority:                  pulumi.String("string"),
	ProvisionVmAgent:          pulumi.Bool(false),
	ProximityPlacementGroupId: pulumi.String("string"),
	AdditionalUnattendContents: compute.WindowsVirtualMachineScaleSetAdditionalUnattendContentArray{
		&compute.WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs{
			Content: pulumi.String("string"),
			Setting: pulumi.String("string"),
		},
	},
	RollingUpgradePolicy: &compute.WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs{
		MaxBatchInstancePercent:             pulumi.Int(0),
		MaxUnhealthyInstancePercent:         pulumi.Int(0),
		MaxUnhealthyUpgradedInstancePercent: pulumi.Int(0),
		PauseTimeBetweenBatches:             pulumi.String("string"),
		CrossZoneUpgradesEnabled:            pulumi.Bool(false),
		MaximumSurgeInstancesEnabled:        pulumi.Bool(false),
		PrioritizeUnhealthyInstancesEnabled: pulumi.Bool(false),
	},
	ScaleIn: &compute.WindowsVirtualMachineScaleSetScaleInArgs{
		ForceDeletionEnabled: pulumi.Bool(false),
		Rule:                 pulumi.String("string"),
	},
	Secrets: compute.WindowsVirtualMachineScaleSetSecretArray{
		&compute.WindowsVirtualMachineScaleSetSecretArgs{
			Certificates: compute.WindowsVirtualMachineScaleSetSecretCertificateArray{
				&compute.WindowsVirtualMachineScaleSetSecretCertificateArgs{
					Store: pulumi.String("string"),
					Url:   pulumi.String("string"),
				},
			},
			KeyVaultId: pulumi.String("string"),
		},
	},
	SecureBootEnabled:    pulumi.Bool(false),
	SinglePlacementGroup: pulumi.Bool(false),
	AdditionalCapabilities: &compute.WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs{
		UltraSsdEnabled: pulumi.Bool(false),
	},
	SourceImageId: pulumi.String("string"),
	SourceImageReference: &compute.WindowsVirtualMachineScaleSetSourceImageReferenceArgs{
		Offer:     pulumi.String("string"),
		Publisher: pulumi.String("string"),
		Sku:       pulumi.String("string"),
		Version:   pulumi.String("string"),
	},
	SpotRestore: &compute.WindowsVirtualMachineScaleSetSpotRestoreArgs{
		Enabled: pulumi.Bool(false),
		Timeout: pulumi.String("string"),
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	TerminationNotification: &compute.WindowsVirtualMachineScaleSetTerminationNotificationArgs{
		Enabled: pulumi.Bool(false),
		Timeout: pulumi.String("string"),
	},
	Timezone:    pulumi.String("string"),
	UpgradeMode: pulumi.String("string"),
	UserData:    pulumi.String("string"),
	VtpmEnabled: pulumi.Bool(false),
	WinrmListeners: compute.WindowsVirtualMachineScaleSetWinrmListenerArray{
		&compute.WindowsVirtualMachineScaleSetWinrmListenerArgs{
			Protocol:       pulumi.String("string"),
			CertificateUrl: pulumi.String("string"),
		},
	},
	ZoneBalance: pulumi.Bool(false),
	Zones: pulumi.StringArray{
		pulumi.String("string"),
	},
})
Copy
var windowsVirtualMachineScaleSetResource = new WindowsVirtualMachineScaleSet("windowsVirtualMachineScaleSetResource", WindowsVirtualMachineScaleSetArgs.builder()
    .adminPassword("string")
    .adminUsername("string")
    .instances(0)
    .networkInterfaces(WindowsVirtualMachineScaleSetNetworkInterfaceArgs.builder()
        .ipConfigurations(WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
            .name("string")
            .applicationGatewayBackendAddressPoolIds("string")
            .applicationSecurityGroupIds("string")
            .loadBalancerBackendAddressPoolIds("string")
            .loadBalancerInboundNatRulesIds("string")
            .primary(false)
            .publicIpAddresses(WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs.builder()
                .name("string")
                .domainNameLabel("string")
                .idleTimeoutInMinutes(0)
                .ipTags(WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs.builder()
                    .tag("string")
                    .type("string")
                    .build())
                .publicIpPrefixId("string")
                .version("string")
                .build())
            .subnetId("string")
            .version("string")
            .build())
        .name("string")
        .dnsServers("string")
        .enableAcceleratedNetworking(false)
        .enableIpForwarding(false)
        .networkSecurityGroupId("string")
        .primary(false)
        .build())
    .osDisk(WindowsVirtualMachineScaleSetOsDiskArgs.builder()
        .caching("string")
        .storageAccountType("string")
        .diffDiskSettings(WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs.builder()
            .option("string")
            .placement("string")
            .build())
        .diskEncryptionSetId("string")
        .diskSizeGb(0)
        .secureVmDiskEncryptionSetId("string")
        .securityEncryptionType("string")
        .writeAcceleratorEnabled(false)
        .build())
    .sku("string")
    .resourceGroupName("string")
    .licenseType("string")
    .overprovision(false)
    .bootDiagnostics(WindowsVirtualMachineScaleSetBootDiagnosticsArgs.builder()
        .storageAccountUri("string")
        .build())
    .capacityReservationGroupId("string")
    .computerNamePrefix("string")
    .customData("string")
    .dataDisks(WindowsVirtualMachineScaleSetDataDiskArgs.builder()
        .caching("string")
        .diskSizeGb(0)
        .lun(0)
        .storageAccountType("string")
        .createOption("string")
        .diskEncryptionSetId("string")
        .name("string")
        .ultraSsdDiskIopsReadWrite(0)
        .ultraSsdDiskMbpsReadWrite(0)
        .writeAcceleratorEnabled(false)
        .build())
    .doNotRunExtensionsOnOverprovisionedMachines(false)
    .edgeZone("string")
    .enableAutomaticUpdates(false)
    .encryptionAtHostEnabled(false)
    .evictionPolicy("string")
    .extensionOperationsEnabled(false)
    .extensions(WindowsVirtualMachineScaleSetExtensionArgs.builder()
        .name("string")
        .publisher("string")
        .type("string")
        .typeHandlerVersion("string")
        .autoUpgradeMinorVersion(false)
        .automaticUpgradeEnabled(false)
        .forceUpdateTag("string")
        .protectedSettings("string")
        .protectedSettingsFromKeyVault(WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs.builder()
            .secretUrl("string")
            .sourceVaultId("string")
            .build())
        .provisionAfterExtensions("string")
        .settings("string")
        .build())
    .extensionsTimeBudget("string")
    .galleryApplications(WindowsVirtualMachineScaleSetGalleryApplicationArgs.builder()
        .versionId("string")
        .configurationBlobUri("string")
        .order(0)
        .tag("string")
        .build())
    .healthProbeId("string")
    .hostGroupId("string")
    .identity(WindowsVirtualMachineScaleSetIdentityArgs.builder()
        .type("string")
        .identityIds("string")
        .principalId("string")
        .tenantId("string")
        .build())
    .automaticInstanceRepair(WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs.builder()
        .enabled(false)
        .action("string")
        .gracePeriod("string")
        .build())
    .location("string")
    .maxBidPrice(0)
    .name("string")
    .automaticOsUpgradePolicy(WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs.builder()
        .disableAutomaticRollback(false)
        .enableAutomaticOsUpgrade(false)
        .build())
    .plan(WindowsVirtualMachineScaleSetPlanArgs.builder()
        .name("string")
        .product("string")
        .publisher("string")
        .build())
    .platformFaultDomainCount(0)
    .priority("string")
    .provisionVmAgent(false)
    .proximityPlacementGroupId("string")
    .additionalUnattendContents(WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs.builder()
        .content("string")
        .setting("string")
        .build())
    .rollingUpgradePolicy(WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs.builder()
        .maxBatchInstancePercent(0)
        .maxUnhealthyInstancePercent(0)
        .maxUnhealthyUpgradedInstancePercent(0)
        .pauseTimeBetweenBatches("string")
        .crossZoneUpgradesEnabled(false)
        .maximumSurgeInstancesEnabled(false)
        .prioritizeUnhealthyInstancesEnabled(false)
        .build())
    .scaleIn(WindowsVirtualMachineScaleSetScaleInArgs.builder()
        .forceDeletionEnabled(false)
        .rule("string")
        .build())
    .secrets(WindowsVirtualMachineScaleSetSecretArgs.builder()
        .certificates(WindowsVirtualMachineScaleSetSecretCertificateArgs.builder()
            .store("string")
            .url("string")
            .build())
        .keyVaultId("string")
        .build())
    .secureBootEnabled(false)
    .singlePlacementGroup(false)
    .additionalCapabilities(WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs.builder()
        .ultraSsdEnabled(false)
        .build())
    .sourceImageId("string")
    .sourceImageReference(WindowsVirtualMachineScaleSetSourceImageReferenceArgs.builder()
        .offer("string")
        .publisher("string")
        .sku("string")
        .version("string")
        .build())
    .spotRestore(WindowsVirtualMachineScaleSetSpotRestoreArgs.builder()
        .enabled(false)
        .timeout("string")
        .build())
    .tags(Map.of("string", "string"))
    .terminationNotification(WindowsVirtualMachineScaleSetTerminationNotificationArgs.builder()
        .enabled(false)
        .timeout("string")
        .build())
    .timezone("string")
    .upgradeMode("string")
    .userData("string")
    .vtpmEnabled(false)
    .winrmListeners(WindowsVirtualMachineScaleSetWinrmListenerArgs.builder()
        .protocol("string")
        .certificateUrl("string")
        .build())
    .zoneBalance(false)
    .zones("string")
    .build());
Copy
windows_virtual_machine_scale_set_resource = azure.compute.WindowsVirtualMachineScaleSet("windowsVirtualMachineScaleSetResource",
    admin_password="string",
    admin_username="string",
    instances=0,
    network_interfaces=[{
        "ip_configurations": [{
            "name": "string",
            "application_gateway_backend_address_pool_ids": ["string"],
            "application_security_group_ids": ["string"],
            "load_balancer_backend_address_pool_ids": ["string"],
            "load_balancer_inbound_nat_rules_ids": ["string"],
            "primary": False,
            "public_ip_addresses": [{
                "name": "string",
                "domain_name_label": "string",
                "idle_timeout_in_minutes": 0,
                "ip_tags": [{
                    "tag": "string",
                    "type": "string",
                }],
                "public_ip_prefix_id": "string",
                "version": "string",
            }],
            "subnet_id": "string",
            "version": "string",
        }],
        "name": "string",
        "dns_servers": ["string"],
        "enable_accelerated_networking": False,
        "enable_ip_forwarding": False,
        "network_security_group_id": "string",
        "primary": False,
    }],
    os_disk={
        "caching": "string",
        "storage_account_type": "string",
        "diff_disk_settings": {
            "option": "string",
            "placement": "string",
        },
        "disk_encryption_set_id": "string",
        "disk_size_gb": 0,
        "secure_vm_disk_encryption_set_id": "string",
        "security_encryption_type": "string",
        "write_accelerator_enabled": False,
    },
    sku="string",
    resource_group_name="string",
    license_type="string",
    overprovision=False,
    boot_diagnostics={
        "storage_account_uri": "string",
    },
    capacity_reservation_group_id="string",
    computer_name_prefix="string",
    custom_data="string",
    data_disks=[{
        "caching": "string",
        "disk_size_gb": 0,
        "lun": 0,
        "storage_account_type": "string",
        "create_option": "string",
        "disk_encryption_set_id": "string",
        "name": "string",
        "ultra_ssd_disk_iops_read_write": 0,
        "ultra_ssd_disk_mbps_read_write": 0,
        "write_accelerator_enabled": False,
    }],
    do_not_run_extensions_on_overprovisioned_machines=False,
    edge_zone="string",
    enable_automatic_updates=False,
    encryption_at_host_enabled=False,
    eviction_policy="string",
    extension_operations_enabled=False,
    extensions=[{
        "name": "string",
        "publisher": "string",
        "type": "string",
        "type_handler_version": "string",
        "auto_upgrade_minor_version": False,
        "automatic_upgrade_enabled": False,
        "force_update_tag": "string",
        "protected_settings": "string",
        "protected_settings_from_key_vault": {
            "secret_url": "string",
            "source_vault_id": "string",
        },
        "provision_after_extensions": ["string"],
        "settings": "string",
    }],
    extensions_time_budget="string",
    gallery_applications=[{
        "version_id": "string",
        "configuration_blob_uri": "string",
        "order": 0,
        "tag": "string",
    }],
    health_probe_id="string",
    host_group_id="string",
    identity={
        "type": "string",
        "identity_ids": ["string"],
        "principal_id": "string",
        "tenant_id": "string",
    },
    automatic_instance_repair={
        "enabled": False,
        "action": "string",
        "grace_period": "string",
    },
    location="string",
    max_bid_price=0,
    name="string",
    automatic_os_upgrade_policy={
        "disable_automatic_rollback": False,
        "enable_automatic_os_upgrade": False,
    },
    plan={
        "name": "string",
        "product": "string",
        "publisher": "string",
    },
    platform_fault_domain_count=0,
    priority="string",
    provision_vm_agent=False,
    proximity_placement_group_id="string",
    additional_unattend_contents=[{
        "content": "string",
        "setting": "string",
    }],
    rolling_upgrade_policy={
        "max_batch_instance_percent": 0,
        "max_unhealthy_instance_percent": 0,
        "max_unhealthy_upgraded_instance_percent": 0,
        "pause_time_between_batches": "string",
        "cross_zone_upgrades_enabled": False,
        "maximum_surge_instances_enabled": False,
        "prioritize_unhealthy_instances_enabled": False,
    },
    scale_in={
        "force_deletion_enabled": False,
        "rule": "string",
    },
    secrets=[{
        "certificates": [{
            "store": "string",
            "url": "string",
        }],
        "key_vault_id": "string",
    }],
    secure_boot_enabled=False,
    single_placement_group=False,
    additional_capabilities={
        "ultra_ssd_enabled": False,
    },
    source_image_id="string",
    source_image_reference={
        "offer": "string",
        "publisher": "string",
        "sku": "string",
        "version": "string",
    },
    spot_restore={
        "enabled": False,
        "timeout": "string",
    },
    tags={
        "string": "string",
    },
    termination_notification={
        "enabled": False,
        "timeout": "string",
    },
    timezone="string",
    upgrade_mode="string",
    user_data="string",
    vtpm_enabled=False,
    winrm_listeners=[{
        "protocol": "string",
        "certificate_url": "string",
    }],
    zone_balance=False,
    zones=["string"])
Copy
const windowsVirtualMachineScaleSetResource = new azure.compute.WindowsVirtualMachineScaleSet("windowsVirtualMachineScaleSetResource", {
    adminPassword: "string",
    adminUsername: "string",
    instances: 0,
    networkInterfaces: [{
        ipConfigurations: [{
            name: "string",
            applicationGatewayBackendAddressPoolIds: ["string"],
            applicationSecurityGroupIds: ["string"],
            loadBalancerBackendAddressPoolIds: ["string"],
            loadBalancerInboundNatRulesIds: ["string"],
            primary: false,
            publicIpAddresses: [{
                name: "string",
                domainNameLabel: "string",
                idleTimeoutInMinutes: 0,
                ipTags: [{
                    tag: "string",
                    type: "string",
                }],
                publicIpPrefixId: "string",
                version: "string",
            }],
            subnetId: "string",
            version: "string",
        }],
        name: "string",
        dnsServers: ["string"],
        enableAcceleratedNetworking: false,
        enableIpForwarding: false,
        networkSecurityGroupId: "string",
        primary: false,
    }],
    osDisk: {
        caching: "string",
        storageAccountType: "string",
        diffDiskSettings: {
            option: "string",
            placement: "string",
        },
        diskEncryptionSetId: "string",
        diskSizeGb: 0,
        secureVmDiskEncryptionSetId: "string",
        securityEncryptionType: "string",
        writeAcceleratorEnabled: false,
    },
    sku: "string",
    resourceGroupName: "string",
    licenseType: "string",
    overprovision: false,
    bootDiagnostics: {
        storageAccountUri: "string",
    },
    capacityReservationGroupId: "string",
    computerNamePrefix: "string",
    customData: "string",
    dataDisks: [{
        caching: "string",
        diskSizeGb: 0,
        lun: 0,
        storageAccountType: "string",
        createOption: "string",
        diskEncryptionSetId: "string",
        name: "string",
        ultraSsdDiskIopsReadWrite: 0,
        ultraSsdDiskMbpsReadWrite: 0,
        writeAcceleratorEnabled: false,
    }],
    doNotRunExtensionsOnOverprovisionedMachines: false,
    edgeZone: "string",
    enableAutomaticUpdates: false,
    encryptionAtHostEnabled: false,
    evictionPolicy: "string",
    extensionOperationsEnabled: false,
    extensions: [{
        name: "string",
        publisher: "string",
        type: "string",
        typeHandlerVersion: "string",
        autoUpgradeMinorVersion: false,
        automaticUpgradeEnabled: false,
        forceUpdateTag: "string",
        protectedSettings: "string",
        protectedSettingsFromKeyVault: {
            secretUrl: "string",
            sourceVaultId: "string",
        },
        provisionAfterExtensions: ["string"],
        settings: "string",
    }],
    extensionsTimeBudget: "string",
    galleryApplications: [{
        versionId: "string",
        configurationBlobUri: "string",
        order: 0,
        tag: "string",
    }],
    healthProbeId: "string",
    hostGroupId: "string",
    identity: {
        type: "string",
        identityIds: ["string"],
        principalId: "string",
        tenantId: "string",
    },
    automaticInstanceRepair: {
        enabled: false,
        action: "string",
        gracePeriod: "string",
    },
    location: "string",
    maxBidPrice: 0,
    name: "string",
    automaticOsUpgradePolicy: {
        disableAutomaticRollback: false,
        enableAutomaticOsUpgrade: false,
    },
    plan: {
        name: "string",
        product: "string",
        publisher: "string",
    },
    platformFaultDomainCount: 0,
    priority: "string",
    provisionVmAgent: false,
    proximityPlacementGroupId: "string",
    additionalUnattendContents: [{
        content: "string",
        setting: "string",
    }],
    rollingUpgradePolicy: {
        maxBatchInstancePercent: 0,
        maxUnhealthyInstancePercent: 0,
        maxUnhealthyUpgradedInstancePercent: 0,
        pauseTimeBetweenBatches: "string",
        crossZoneUpgradesEnabled: false,
        maximumSurgeInstancesEnabled: false,
        prioritizeUnhealthyInstancesEnabled: false,
    },
    scaleIn: {
        forceDeletionEnabled: false,
        rule: "string",
    },
    secrets: [{
        certificates: [{
            store: "string",
            url: "string",
        }],
        keyVaultId: "string",
    }],
    secureBootEnabled: false,
    singlePlacementGroup: false,
    additionalCapabilities: {
        ultraSsdEnabled: false,
    },
    sourceImageId: "string",
    sourceImageReference: {
        offer: "string",
        publisher: "string",
        sku: "string",
        version: "string",
    },
    spotRestore: {
        enabled: false,
        timeout: "string",
    },
    tags: {
        string: "string",
    },
    terminationNotification: {
        enabled: false,
        timeout: "string",
    },
    timezone: "string",
    upgradeMode: "string",
    userData: "string",
    vtpmEnabled: false,
    winrmListeners: [{
        protocol: "string",
        certificateUrl: "string",
    }],
    zoneBalance: false,
    zones: ["string"],
});
Copy
type: azure:compute:WindowsVirtualMachineScaleSet
properties:
    additionalCapabilities:
        ultraSsdEnabled: false
    additionalUnattendContents:
        - content: string
          setting: string
    adminPassword: string
    adminUsername: string
    automaticInstanceRepair:
        action: string
        enabled: false
        gracePeriod: string
    automaticOsUpgradePolicy:
        disableAutomaticRollback: false
        enableAutomaticOsUpgrade: false
    bootDiagnostics:
        storageAccountUri: string
    capacityReservationGroupId: string
    computerNamePrefix: string
    customData: string
    dataDisks:
        - caching: string
          createOption: string
          diskEncryptionSetId: string
          diskSizeGb: 0
          lun: 0
          name: string
          storageAccountType: string
          ultraSsdDiskIopsReadWrite: 0
          ultraSsdDiskMbpsReadWrite: 0
          writeAcceleratorEnabled: false
    doNotRunExtensionsOnOverprovisionedMachines: false
    edgeZone: string
    enableAutomaticUpdates: false
    encryptionAtHostEnabled: false
    evictionPolicy: string
    extensionOperationsEnabled: false
    extensions:
        - autoUpgradeMinorVersion: false
          automaticUpgradeEnabled: false
          forceUpdateTag: string
          name: string
          protectedSettings: string
          protectedSettingsFromKeyVault:
            secretUrl: string
            sourceVaultId: string
          provisionAfterExtensions:
            - string
          publisher: string
          settings: string
          type: string
          typeHandlerVersion: string
    extensionsTimeBudget: string
    galleryApplications:
        - configurationBlobUri: string
          order: 0
          tag: string
          versionId: string
    healthProbeId: string
    hostGroupId: string
    identity:
        identityIds:
            - string
        principalId: string
        tenantId: string
        type: string
    instances: 0
    licenseType: string
    location: string
    maxBidPrice: 0
    name: string
    networkInterfaces:
        - dnsServers:
            - string
          enableAcceleratedNetworking: false
          enableIpForwarding: false
          ipConfigurations:
            - applicationGatewayBackendAddressPoolIds:
                - string
              applicationSecurityGroupIds:
                - string
              loadBalancerBackendAddressPoolIds:
                - string
              loadBalancerInboundNatRulesIds:
                - string
              name: string
              primary: false
              publicIpAddresses:
                - domainNameLabel: string
                  idleTimeoutInMinutes: 0
                  ipTags:
                    - tag: string
                      type: string
                  name: string
                  publicIpPrefixId: string
                  version: string
              subnetId: string
              version: string
          name: string
          networkSecurityGroupId: string
          primary: false
    osDisk:
        caching: string
        diffDiskSettings:
            option: string
            placement: string
        diskEncryptionSetId: string
        diskSizeGb: 0
        secureVmDiskEncryptionSetId: string
        securityEncryptionType: string
        storageAccountType: string
        writeAcceleratorEnabled: false
    overprovision: false
    plan:
        name: string
        product: string
        publisher: string
    platformFaultDomainCount: 0
    priority: string
    provisionVmAgent: false
    proximityPlacementGroupId: string
    resourceGroupName: string
    rollingUpgradePolicy:
        crossZoneUpgradesEnabled: false
        maxBatchInstancePercent: 0
        maxUnhealthyInstancePercent: 0
        maxUnhealthyUpgradedInstancePercent: 0
        maximumSurgeInstancesEnabled: false
        pauseTimeBetweenBatches: string
        prioritizeUnhealthyInstancesEnabled: false
    scaleIn:
        forceDeletionEnabled: false
        rule: string
    secrets:
        - certificates:
            - store: string
              url: string
          keyVaultId: string
    secureBootEnabled: false
    singlePlacementGroup: false
    sku: string
    sourceImageId: string
    sourceImageReference:
        offer: string
        publisher: string
        sku: string
        version: string
    spotRestore:
        enabled: false
        timeout: string
    tags:
        string: string
    terminationNotification:
        enabled: false
        timeout: string
    timezone: string
    upgradeMode: string
    userData: string
    vtpmEnabled: false
    winrmListeners:
        - certificateUrl: string
          protocol: string
    zoneBalance: false
    zones:
        - string
Copy

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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
string
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
Instances This property is required. int

The number of Virtual Machines in the Scale Set.

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

NetworkInterfaces This property is required. List<WindowsVirtualMachineScaleSetNetworkInterface>
One or more network_interface blocks as defined below.
OsDisk This property is required. WindowsVirtualMachineScaleSetOsDisk
An os_disk block as defined below.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
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 This property is required. string
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
AdditionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
An additional_capabilities block as defined below.
AdditionalUnattendContents Changes to this property will trigger replacement. List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
AutomaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

ComputerNamePrefix Changes to this property will trigger replacement. string
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
CustomData string

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

DataDisks List<WindowsVirtualMachineScaleSetDataDisk>
One or more data_disk blocks as defined below.
DoNotRunExtensionsOnOverprovisionedMachines bool
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
EdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
EnableAutomaticUpdates bool
Are automatic updates enabled for this Virtual Machine? Defaults to true.
EncryptionAtHostEnabled bool
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
EvictionPolicy Changes to this property will trigger replacement. string

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

ExtensionOperationsEnabled Changes to this property will trigger replacement. bool

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

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

Extensions List<WindowsVirtualMachineScaleSetExtension>
One or more extension blocks as defined below
ExtensionsTimeBudget string
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
GalleryApplications List<WindowsVirtualMachineScaleSetGalleryApplication>
One or more gallery_application blocks as defined below.
HealthProbeId string
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
HostGroupId Changes to this property will trigger replacement. string
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
Identity WindowsVirtualMachineScaleSetIdentity
An identity block as defined below.
LicenseType string
Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
Location Changes to this property will trigger replacement. string
The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
MaxBidPrice double

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

Name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlan

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

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

PlatformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

ProvisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicy
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
ScaleIn WindowsVirtualMachineScaleSetScaleIn
A scale_in block as defined below.
Secrets List<WindowsVirtualMachineScaleSetSecret>
One or more secret blocks as defined below.
SecureBootEnabled Changes to this property will trigger replacement. bool
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
SinglePlacementGroup bool
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
SourceImageId string

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

SourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

A source_image_reference block as defined below.

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

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

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

Zones List<string>

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

AdminPassword
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
string
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
Instances This property is required. int

The number of Virtual Machines in the Scale Set.

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

NetworkInterfaces This property is required. []WindowsVirtualMachineScaleSetNetworkInterfaceArgs
One or more network_interface blocks as defined below.
OsDisk This property is required. WindowsVirtualMachineScaleSetOsDiskArgs
An os_disk block as defined below.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
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 This property is required. string
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
AdditionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
An additional_capabilities block as defined below.
AdditionalUnattendContents Changes to this property will trigger replacement. []WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
AutomaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

ComputerNamePrefix Changes to this property will trigger replacement. string
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
CustomData string

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

DataDisks []WindowsVirtualMachineScaleSetDataDiskArgs
One or more data_disk blocks as defined below.
DoNotRunExtensionsOnOverprovisionedMachines bool
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
EdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
EnableAutomaticUpdates bool
Are automatic updates enabled for this Virtual Machine? Defaults to true.
EncryptionAtHostEnabled bool
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
EvictionPolicy Changes to this property will trigger replacement. string

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

ExtensionOperationsEnabled Changes to this property will trigger replacement. bool

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

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

Extensions []WindowsVirtualMachineScaleSetExtensionArgs
One or more extension blocks as defined below
ExtensionsTimeBudget string
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
GalleryApplications []WindowsVirtualMachineScaleSetGalleryApplicationArgs
One or more gallery_application blocks as defined below.
HealthProbeId string
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
HostGroupId Changes to this property will trigger replacement. string
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
Identity WindowsVirtualMachineScaleSetIdentityArgs
An identity block as defined below.
LicenseType string
Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
Location Changes to this property will trigger replacement. string
The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
MaxBidPrice float64

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

Name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlanArgs

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

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

PlatformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

ProvisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
ScaleIn WindowsVirtualMachineScaleSetScaleInArgs
A scale_in block as defined below.
Secrets []WindowsVirtualMachineScaleSetSecretArgs
One or more secret blocks as defined below.
SecureBootEnabled Changes to this property will trigger replacement. bool
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
SinglePlacementGroup bool
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
SourceImageId string

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

SourceImageReference WindowsVirtualMachineScaleSetSourceImageReferenceArgs

A source_image_reference block as defined below.

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

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

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

Zones []string

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

adminPassword
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
String
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
instances This property is required. Integer

The number of Virtual Machines in the Scale Set.

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

networkInterfaces This property is required. List<WindowsVirtualMachineScaleSetNetworkInterface>
One or more network_interface blocks as defined below.
osDisk This property is required. WindowsVirtualMachineScaleSetOsDisk
An os_disk block as defined below.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
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 This property is required. String
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
additionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
An additional_capabilities block as defined below.
additionalUnattendContents Changes to this property will trigger replacement. List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

computerNamePrefix Changes to this property will trigger replacement. String
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
customData String

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

dataDisks List<WindowsVirtualMachineScaleSetDataDisk>
One or more data_disk blocks as defined below.
doNotRunExtensionsOnOverprovisionedMachines Boolean
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
edgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
enableAutomaticUpdates Boolean
Are automatic updates enabled for this Virtual Machine? Defaults to true.
encryptionAtHostEnabled Boolean
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
evictionPolicy Changes to this property will trigger replacement. String

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

extensionOperationsEnabled Changes to this property will trigger replacement. Boolean

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

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

extensions List<WindowsVirtualMachineScaleSetExtension>
One or more extension blocks as defined below
extensionsTimeBudget String
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
galleryApplications List<WindowsVirtualMachineScaleSetGalleryApplication>
One or more gallery_application blocks as defined below.
healthProbeId String
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
hostGroupId Changes to this property will trigger replacement. String
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
identity WindowsVirtualMachineScaleSetIdentity
An identity block as defined below.
licenseType String
Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
location Changes to this property will trigger replacement. String
The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
maxBidPrice Double

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlan

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

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

platformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

provisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicy
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
scaleIn WindowsVirtualMachineScaleSetScaleIn
A scale_in block as defined below.
secrets List<WindowsVirtualMachineScaleSetSecret>
One or more secret blocks as defined below.
secureBootEnabled Changes to this property will trigger replacement. Boolean
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
singlePlacementGroup Boolean
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
sourceImageId String

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

A source_image_reference block as defined below.

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

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

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

zones List<String>

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

adminPassword
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
string
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
instances This property is required. number

The number of Virtual Machines in the Scale Set.

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

networkInterfaces This property is required. WindowsVirtualMachineScaleSetNetworkInterface[]
One or more network_interface blocks as defined below.
osDisk This property is required. WindowsVirtualMachineScaleSetOsDisk
An os_disk block as defined below.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
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 This property is required. string
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
additionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
An additional_capabilities block as defined below.
additionalUnattendContents Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetAdditionalUnattendContent[]
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

computerNamePrefix Changes to this property will trigger replacement. string
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
customData string

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

dataDisks WindowsVirtualMachineScaleSetDataDisk[]
One or more data_disk blocks as defined below.
doNotRunExtensionsOnOverprovisionedMachines boolean
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
edgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
enableAutomaticUpdates boolean
Are automatic updates enabled for this Virtual Machine? Defaults to true.
encryptionAtHostEnabled boolean
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
evictionPolicy Changes to this property will trigger replacement. string

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

extensionOperationsEnabled Changes to this property will trigger replacement. boolean

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

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

extensions WindowsVirtualMachineScaleSetExtension[]
One or more extension blocks as defined below
extensionsTimeBudget string
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
galleryApplications WindowsVirtualMachineScaleSetGalleryApplication[]
One or more gallery_application blocks as defined below.
healthProbeId string
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
hostGroupId Changes to this property will trigger replacement. string
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
identity WindowsVirtualMachineScaleSetIdentity
An identity block as defined below.
licenseType string
Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
location Changes to this property will trigger replacement. string
The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
maxBidPrice number

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlan

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

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

platformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

provisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicy
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
scaleIn WindowsVirtualMachineScaleSetScaleIn
A scale_in block as defined below.
secrets WindowsVirtualMachineScaleSetSecret[]
One or more secret blocks as defined below.
secureBootEnabled Changes to this property will trigger replacement. boolean
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
singlePlacementGroup boolean
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
sourceImageId string

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

A source_image_reference block as defined below.

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

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

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

zones string[]

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

admin_password
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
str
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
instances This property is required. int

The number of Virtual Machines in the Scale Set.

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

network_interfaces This property is required. Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceArgs]
One or more network_interface blocks as defined below.
os_disk This property is required. WindowsVirtualMachineScaleSetOsDiskArgs
An os_disk block as defined below.
resource_group_name
This property is required.
Changes to this property will trigger replacement.
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 This property is required. str
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
additional_capabilities WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
An additional_capabilities block as defined below.
additional_unattend_contents Changes to this property will trigger replacement. Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
automatic_instance_repair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

computer_name_prefix Changes to this property will trigger replacement. str
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
custom_data str

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

data_disks Sequence[WindowsVirtualMachineScaleSetDataDiskArgs]
One or more data_disk blocks as defined below.
do_not_run_extensions_on_overprovisioned_machines bool
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
edge_zone Changes to this property will trigger replacement. str
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
enable_automatic_updates bool
Are automatic updates enabled for this Virtual Machine? Defaults to true.
encryption_at_host_enabled bool
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
eviction_policy Changes to this property will trigger replacement. str

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

extension_operations_enabled Changes to this property will trigger replacement. bool

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

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

extensions Sequence[WindowsVirtualMachineScaleSetExtensionArgs]
One or more extension blocks as defined below
extensions_time_budget str
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
gallery_applications Sequence[WindowsVirtualMachineScaleSetGalleryApplicationArgs]
One or more gallery_application blocks as defined below.
health_probe_id str
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
host_group_id Changes to this property will trigger replacement. str
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
identity WindowsVirtualMachineScaleSetIdentityArgs
An identity block as defined below.
license_type str
Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
location Changes to this property will trigger replacement. str
The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
max_bid_price float

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlanArgs

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

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

platform_fault_domain_count Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

provision_vm_agent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
scale_in WindowsVirtualMachineScaleSetScaleInArgs
A scale_in block as defined below.
secrets Sequence[WindowsVirtualMachineScaleSetSecretArgs]
One or more secret blocks as defined below.
secure_boot_enabled Changes to this property will trigger replacement. bool
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
single_placement_group bool
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
source_image_id str

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

source_image_reference WindowsVirtualMachineScaleSetSourceImageReferenceArgs

A source_image_reference block as defined below.

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

spot_restore WindowsVirtualMachineScaleSetSpotRestoreArgs
A spot_restore block as defined below.
tags Mapping[str, str]
A mapping of tags which should be assigned to this Virtual Machine Scale Set.
termination_notification WindowsVirtualMachineScaleSetTerminationNotificationArgs
A termination_notification block as defined below.
timezone str
Specifies the time zone of the virtual machine, the possible values are defined here.
upgrade_mode Changes to this property will trigger replacement. str
user_data str
The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
vtpm_enabled Changes to this property will trigger replacement. bool
Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
winrm_listeners Changes to this property will trigger replacement. Sequence[WindowsVirtualMachineScaleSetWinrmListenerArgs]
One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
zone_balance Changes to this property will trigger replacement. bool

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

zones Sequence[str]

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

adminPassword
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
String
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
instances This property is required. Number

The number of Virtual Machines in the Scale Set.

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

networkInterfaces This property is required. List<Property Map>
One or more network_interface blocks as defined below.
osDisk This property is required. Property Map
An os_disk block as defined below.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
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 This property is required. String
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
additionalCapabilities Property Map
An additional_capabilities block as defined below.
additionalUnattendContents Changes to this property will trigger replacement. List<Property Map>
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
automaticInstanceRepair Property Map

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

computerNamePrefix Changes to this property will trigger replacement. String
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
customData String

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

dataDisks List<Property Map>
One or more data_disk blocks as defined below.
doNotRunExtensionsOnOverprovisionedMachines Boolean
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
edgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
enableAutomaticUpdates Boolean
Are automatic updates enabled for this Virtual Machine? Defaults to true.
encryptionAtHostEnabled Boolean
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
evictionPolicy Changes to this property will trigger replacement. String

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

extensionOperationsEnabled Changes to this property will trigger replacement. Boolean

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

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

extensions List<Property Map>
One or more extension blocks as defined below
extensionsTimeBudget String
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
galleryApplications List<Property Map>
One or more gallery_application blocks as defined below.
healthProbeId String
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
hostGroupId Changes to this property will trigger replacement. String
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
identity Property Map
An identity block as defined below.
licenseType String
Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine Scale Set. Possible values are None, Windows_Client and Windows_Server.
location Changes to this property will trigger replacement. String
The Azure location where the Windows Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
maxBidPrice Number

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. Property Map

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

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

platformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

provisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. Property Map
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
scaleIn Property Map
A scale_in block as defined below.
secrets List<Property Map>
One or more secret blocks as defined below.
secureBootEnabled Changes to this property will trigger replacement. Boolean
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
singlePlacementGroup Boolean
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
sourceImageId String

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

sourceImageReference Property Map

A source_image_reference block as defined below.

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

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

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

zones List<String>

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

Outputs

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

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

Look up Existing WindowsVirtualMachineScaleSet Resource

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

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

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

ComputerNamePrefix Changes to this property will trigger replacement. string
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
CustomData string

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

DataDisks List<WindowsVirtualMachineScaleSetDataDisk>
One or more data_disk blocks as defined below.
DoNotRunExtensionsOnOverprovisionedMachines bool
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
EdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
EnableAutomaticUpdates bool
Are automatic updates enabled for this Virtual Machine? Defaults to true.
EncryptionAtHostEnabled bool
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
EvictionPolicy Changes to this property will trigger replacement. string

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

ExtensionOperationsEnabled Changes to this property will trigger replacement. bool

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

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

Extensions List<WindowsVirtualMachineScaleSetExtension>
One or more extension blocks as defined below
ExtensionsTimeBudget string
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
GalleryApplications List<WindowsVirtualMachineScaleSetGalleryApplication>
One or more gallery_application blocks as defined below.
HealthProbeId string
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
HostGroupId Changes to this property will trigger replacement. string
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
Identity WindowsVirtualMachineScaleSetIdentity
An identity block as defined below.
Instances int

The number of Virtual Machines in the Scale Set.

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

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

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

Name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlan

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

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

PlatformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

ProvisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicy
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
ScaleIn WindowsVirtualMachineScaleSetScaleIn
A scale_in block as defined below.
Secrets List<WindowsVirtualMachineScaleSetSecret>
One or more secret blocks as defined below.
SecureBootEnabled Changes to this property will trigger replacement. bool
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
SinglePlacementGroup bool
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
Sku string
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
SourceImageId string

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

SourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

A source_image_reference block as defined below.

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

SpotRestore WindowsVirtualMachineScaleSetSpotRestore
A spot_restore block as defined below.
Tags Dictionary<string, string>
A mapping of tags which should be assigned to this Virtual Machine Scale Set.
TerminationNotification WindowsVirtualMachineScaleSetTerminationNotification
A termination_notification block as defined below.
Timezone string
Specifies the time zone of the virtual machine, the possible values are defined here.
UniqueId string
The Unique ID for this Windows Virtual Machine Scale Set.
UpgradeMode Changes to this property will trigger replacement. string
UserData string
The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
VtpmEnabled Changes to this property will trigger replacement. bool
Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
WinrmListeners Changes to this property will trigger replacement. List<WindowsVirtualMachineScaleSetWinrmListener>
One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
ZoneBalance Changes to this property will trigger replacement. bool

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

Zones List<string>

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

AdditionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
An additional_capabilities block as defined below.
AdditionalUnattendContents Changes to this property will trigger replacement. []WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
AdminPassword Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
AutomaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

ComputerNamePrefix Changes to this property will trigger replacement. string
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
CustomData string

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

DataDisks []WindowsVirtualMachineScaleSetDataDiskArgs
One or more data_disk blocks as defined below.
DoNotRunExtensionsOnOverprovisionedMachines bool
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
EdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
EnableAutomaticUpdates bool
Are automatic updates enabled for this Virtual Machine? Defaults to true.
EncryptionAtHostEnabled bool
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
EvictionPolicy Changes to this property will trigger replacement. string

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

ExtensionOperationsEnabled Changes to this property will trigger replacement. bool

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

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

Extensions []WindowsVirtualMachineScaleSetExtensionArgs
One or more extension blocks as defined below
ExtensionsTimeBudget string
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
GalleryApplications []WindowsVirtualMachineScaleSetGalleryApplicationArgs
One or more gallery_application blocks as defined below.
HealthProbeId string
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
HostGroupId Changes to this property will trigger replacement. string
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
Identity WindowsVirtualMachineScaleSetIdentityArgs
An identity block as defined below.
Instances int

The number of Virtual Machines in the Scale Set.

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

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

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

Name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlanArgs

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

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

PlatformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

ProvisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
ScaleIn WindowsVirtualMachineScaleSetScaleInArgs
A scale_in block as defined below.
Secrets []WindowsVirtualMachineScaleSetSecretArgs
One or more secret blocks as defined below.
SecureBootEnabled Changes to this property will trigger replacement. bool
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
SinglePlacementGroup bool
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
Sku string
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
SourceImageId string

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

SourceImageReference WindowsVirtualMachineScaleSetSourceImageReferenceArgs

A source_image_reference block as defined below.

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

SpotRestore WindowsVirtualMachineScaleSetSpotRestoreArgs
A spot_restore block as defined below.
Tags map[string]string
A mapping of tags which should be assigned to this Virtual Machine Scale Set.
TerminationNotification WindowsVirtualMachineScaleSetTerminationNotificationArgs
A termination_notification block as defined below.
Timezone string
Specifies the time zone of the virtual machine, the possible values are defined here.
UniqueId string
The Unique ID for this Windows Virtual Machine Scale Set.
UpgradeMode Changes to this property will trigger replacement. string
UserData string
The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
VtpmEnabled Changes to this property will trigger replacement. bool
Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
WinrmListeners Changes to this property will trigger replacement. []WindowsVirtualMachineScaleSetWinrmListenerArgs
One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
ZoneBalance Changes to this property will trigger replacement. bool

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

Zones []string

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

additionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
An additional_capabilities block as defined below.
additionalUnattendContents Changes to this property will trigger replacement. List<WindowsVirtualMachineScaleSetAdditionalUnattendContent>
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
adminPassword Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

computerNamePrefix Changes to this property will trigger replacement. String
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
customData String

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

dataDisks List<WindowsVirtualMachineScaleSetDataDisk>
One or more data_disk blocks as defined below.
doNotRunExtensionsOnOverprovisionedMachines Boolean
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
edgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
enableAutomaticUpdates Boolean
Are automatic updates enabled for this Virtual Machine? Defaults to true.
encryptionAtHostEnabled Boolean
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
evictionPolicy Changes to this property will trigger replacement. String

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

extensionOperationsEnabled Changes to this property will trigger replacement. Boolean

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

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

extensions List<WindowsVirtualMachineScaleSetExtension>
One or more extension blocks as defined below
extensionsTimeBudget String
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
galleryApplications List<WindowsVirtualMachineScaleSetGalleryApplication>
One or more gallery_application blocks as defined below.
healthProbeId String
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
hostGroupId Changes to this property will trigger replacement. String
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
identity WindowsVirtualMachineScaleSetIdentity
An identity block as defined below.
instances Integer

The number of Virtual Machines in the Scale Set.

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

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

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlan

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

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

platformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

provisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicy
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
scaleIn WindowsVirtualMachineScaleSetScaleIn
A scale_in block as defined below.
secrets List<WindowsVirtualMachineScaleSetSecret>
One or more secret blocks as defined below.
secureBootEnabled Changes to this property will trigger replacement. Boolean
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
singlePlacementGroup Boolean
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
sku String
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
sourceImageId String

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

A source_image_reference block as defined below.

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

spotRestore WindowsVirtualMachineScaleSetSpotRestore
A spot_restore block as defined below.
tags Map<String,String>
A mapping of tags which should be assigned to this Virtual Machine Scale Set.
terminationNotification WindowsVirtualMachineScaleSetTerminationNotification
A termination_notification block as defined below.
timezone String
Specifies the time zone of the virtual machine, the possible values are defined here.
uniqueId String
The Unique ID for this Windows Virtual Machine Scale Set.
upgradeMode Changes to this property will trigger replacement. String
userData String
The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
vtpmEnabled Changes to this property will trigger replacement. Boolean
Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
winrmListeners Changes to this property will trigger replacement. List<WindowsVirtualMachineScaleSetWinrmListener>
One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
zoneBalance Changes to this property will trigger replacement. Boolean

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

zones List<String>

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

additionalCapabilities WindowsVirtualMachineScaleSetAdditionalCapabilities
An additional_capabilities block as defined below.
additionalUnattendContents Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetAdditionalUnattendContent[]
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
adminPassword Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
automaticInstanceRepair WindowsVirtualMachineScaleSetAutomaticInstanceRepair

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

computerNamePrefix Changes to this property will trigger replacement. string
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
customData string

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

dataDisks WindowsVirtualMachineScaleSetDataDisk[]
One or more data_disk blocks as defined below.
doNotRunExtensionsOnOverprovisionedMachines boolean
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
edgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
enableAutomaticUpdates boolean
Are automatic updates enabled for this Virtual Machine? Defaults to true.
encryptionAtHostEnabled boolean
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
evictionPolicy Changes to this property will trigger replacement. string

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

extensionOperationsEnabled Changes to this property will trigger replacement. boolean

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

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

extensions WindowsVirtualMachineScaleSetExtension[]
One or more extension blocks as defined below
extensionsTimeBudget string
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
galleryApplications WindowsVirtualMachineScaleSetGalleryApplication[]
One or more gallery_application blocks as defined below.
healthProbeId string
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
hostGroupId Changes to this property will trigger replacement. string
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
identity WindowsVirtualMachineScaleSetIdentity
An identity block as defined below.
instances number

The number of Virtual Machines in the Scale Set.

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

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

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlan

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

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

platformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

provisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicy
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
scaleIn WindowsVirtualMachineScaleSetScaleIn
A scale_in block as defined below.
secrets WindowsVirtualMachineScaleSetSecret[]
One or more secret blocks as defined below.
secureBootEnabled Changes to this property will trigger replacement. boolean
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
singlePlacementGroup boolean
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
sku string
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
sourceImageId string

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

sourceImageReference WindowsVirtualMachineScaleSetSourceImageReference

A source_image_reference block as defined below.

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

spotRestore WindowsVirtualMachineScaleSetSpotRestore
A spot_restore block as defined below.
tags {[key: string]: string}
A mapping of tags which should be assigned to this Virtual Machine Scale Set.
terminationNotification WindowsVirtualMachineScaleSetTerminationNotification
A termination_notification block as defined below.
timezone string
Specifies the time zone of the virtual machine, the possible values are defined here.
uniqueId string
The Unique ID for this Windows Virtual Machine Scale Set.
upgradeMode Changes to this property will trigger replacement. string
userData string
The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
vtpmEnabled Changes to this property will trigger replacement. boolean
Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
winrmListeners Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetWinrmListener[]
One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
zoneBalance Changes to this property will trigger replacement. boolean

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

zones string[]

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

additional_capabilities WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs
An additional_capabilities block as defined below.
additional_unattend_contents Changes to this property will trigger replacement. Sequence[WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs]
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
admin_password Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
automatic_instance_repair WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

computer_name_prefix Changes to this property will trigger replacement. str
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
custom_data str

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

data_disks Sequence[WindowsVirtualMachineScaleSetDataDiskArgs]
One or more data_disk blocks as defined below.
do_not_run_extensions_on_overprovisioned_machines bool
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
edge_zone Changes to this property will trigger replacement. str
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
enable_automatic_updates bool
Are automatic updates enabled for this Virtual Machine? Defaults to true.
encryption_at_host_enabled bool
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
eviction_policy Changes to this property will trigger replacement. str

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

extension_operations_enabled Changes to this property will trigger replacement. bool

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

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

extensions Sequence[WindowsVirtualMachineScaleSetExtensionArgs]
One or more extension blocks as defined below
extensions_time_budget str
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
gallery_applications Sequence[WindowsVirtualMachineScaleSetGalleryApplicationArgs]
One or more gallery_application blocks as defined below.
health_probe_id str
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
host_group_id Changes to this property will trigger replacement. str
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
identity WindowsVirtualMachineScaleSetIdentityArgs
An identity block as defined below.
instances int

The number of Virtual Machines in the Scale Set.

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

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

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetPlanArgs

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

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

platform_fault_domain_count Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

provision_vm_agent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
scale_in WindowsVirtualMachineScaleSetScaleInArgs
A scale_in block as defined below.
secrets Sequence[WindowsVirtualMachineScaleSetSecretArgs]
One or more secret blocks as defined below.
secure_boot_enabled Changes to this property will trigger replacement. bool
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
single_placement_group bool
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
sku str
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
source_image_id str

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

source_image_reference WindowsVirtualMachineScaleSetSourceImageReferenceArgs

A source_image_reference block as defined below.

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

spot_restore WindowsVirtualMachineScaleSetSpotRestoreArgs
A spot_restore block as defined below.
tags Mapping[str, str]
A mapping of tags which should be assigned to this Virtual Machine Scale Set.
termination_notification WindowsVirtualMachineScaleSetTerminationNotificationArgs
A termination_notification block as defined below.
timezone str
Specifies the time zone of the virtual machine, the possible values are defined here.
unique_id str
The Unique ID for this Windows Virtual Machine Scale Set.
upgrade_mode Changes to this property will trigger replacement. str
user_data str
The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
vtpm_enabled Changes to this property will trigger replacement. bool
Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
winrm_listeners Changes to this property will trigger replacement. Sequence[WindowsVirtualMachineScaleSetWinrmListenerArgs]
One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
zone_balance Changes to this property will trigger replacement. bool

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

zones Sequence[str]

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

additionalCapabilities Property Map
An additional_capabilities block as defined below.
additionalUnattendContents Changes to this property will trigger replacement. List<Property Map>
One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
adminPassword Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
automaticInstanceRepair Property Map

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

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

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

Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.

Note: capacity_reservation_group_id cannot be used with proximity_placement_group_id

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

computerNamePrefix Changes to this property will trigger replacement. String
The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix. Changing this forces a new resource to be created.
customData String

The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.

Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.

dataDisks List<Property Map>
One or more data_disk blocks as defined below.
doNotRunExtensionsOnOverprovisionedMachines Boolean
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
edgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Windows Virtual Machine Scale Set should exist. Changing this forces a new Windows Virtual Machine Scale Set to be created.
enableAutomaticUpdates Boolean
Are automatic updates enabled for this Virtual Machine? Defaults to true.
encryptionAtHostEnabled Boolean
Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
evictionPolicy Changes to this property will trigger replacement. String

Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

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

extensionOperationsEnabled Changes to this property will trigger replacement. Boolean

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

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

extensions List<Property Map>
One or more extension blocks as defined below
extensionsTimeBudget String
Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to PT1H30M.
galleryApplications List<Property Map>
One or more gallery_application blocks as defined below.
healthProbeId String
The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
hostGroupId Changes to this property will trigger replacement. String
Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
identity Property Map
An identity block as defined below.
instances Number

The number of Virtual Machines in the Scale Set.

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

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

The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the eviction_policy. Defaults to -1, which means that each Virtual Machine in the Scale Set should not be evicted for price reasons.

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

name Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. Property Map

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

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

platformFaultDomainCount Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String

The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.

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

provisionVmAgent Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. Property Map
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling. Changing this forces a new resource to be created.
scaleIn Property Map
A scale_in block as defined below.
secrets List<Property Map>
One or more secret blocks as defined below.
secureBootEnabled Changes to this property will trigger replacement. Boolean
Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
singlePlacementGroup Boolean
Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to true.
sku String
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
sourceImageId String

The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include Image ID, Shared Image ID, Shared Image Version ID, Community Gallery Image ID, Community Gallery Image Version ID, Shared Gallery Image ID and Shared Gallery Image Version ID.

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

sourceImageReference Property Map

A source_image_reference block as defined below.

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

spotRestore Property Map
A spot_restore block as defined below.
tags Map<String>
A mapping of tags which should be assigned to this Virtual Machine Scale Set.
terminationNotification Property Map
A termination_notification block as defined below.
timezone String
Specifies the time zone of the virtual machine, the possible values are defined here.
uniqueId String
The Unique ID for this Windows Virtual Machine Scale Set.
upgradeMode Changes to this property will trigger replacement. String
userData String
The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
vtpmEnabled Changes to this property will trigger replacement. Boolean
Specifies if vTPM (Virtual Trusted Platform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
winrmListeners Changes to this property will trigger replacement. List<Property Map>
One or more winrm_listener blocks as defined below. Changing this forces a new resource to be created.
zoneBalance Changes to this property will trigger replacement. Boolean

Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to false. Changing this forces a new resource to be created.

Note: This can only be set to true when one or more zones are configured.

zones List<String>

Specifies a list of Availability Zones in which this Windows Virtual Machine Scale Set should be located.

Note: Updating zones to remove an existing zone forces a new Virtual Machine Scale Set to be created.

Supporting Types

WindowsVirtualMachineScaleSetAdditionalCapabilities
, WindowsVirtualMachineScaleSetAdditionalCapabilitiesArgs

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

WindowsVirtualMachineScaleSetAdditionalUnattendContent
, WindowsVirtualMachineScaleSetAdditionalUnattendContentArgs

Content
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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 This property is required. bool
Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
Action string

The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

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

Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

GracePeriod string

Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

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

Enabled This property is required. bool
Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
Action string

The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

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

Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

GracePeriod string

Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

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

enabled This property is required. Boolean
Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
action String

The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

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

Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

gracePeriod String

Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

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

enabled This property is required. boolean
Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
action string

The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

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

Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

gracePeriod string

Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

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

enabled This property is required. bool
Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
action str

The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

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

Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

grace_period str

Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

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

enabled This property is required. Boolean
Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
action String

The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include Replace, Restart, Reimage.

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

Note: If you wish to update the repair action of an existing automatic_instance_repair policy, you must first disable the automatic_instance_repair policy before you can re-enable the automatic_instance_repair policy with the new repair action defined.

gracePeriod String

Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between 10 and 90 minutes. The time duration should be specified in ISO 8601 format (e.g. PT10M to PT90M).

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

WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicy
, WindowsVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs

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

WindowsVirtualMachineScaleSetBootDiagnostics
, WindowsVirtualMachineScaleSetBootDiagnosticsArgs

StorageAccountUri string

The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.

Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics

StorageAccountUri string

The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.

Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics

storageAccountUri String

The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.

Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics

storageAccountUri string

The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.

Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics

storage_account_uri str

The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.

Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics

storageAccountUri String

The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.

Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics

WindowsVirtualMachineScaleSetDataDisk
, WindowsVirtualMachineScaleSetDataDiskArgs

Caching This property is required. string
The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
DiskSizeGb This property is required. int
The size of the Data Disk which should be created.
Lun This property is required. int
The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
StorageAccountType This property is required. string

The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.

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

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

The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

Name string
The name of the Data Disk.
UltraSsdDiskIopsReadWrite int
Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
UltraSsdDiskMbpsReadWrite int
Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
WriteAcceleratorEnabled bool

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

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

Caching This property is required. string
The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
DiskSizeGb This property is required. int
The size of the Data Disk which should be created.
Lun This property is required. int
The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
StorageAccountType This property is required. string

The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.

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

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

The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

Name string
The name of the Data Disk.
UltraSsdDiskIopsReadWrite int
Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
UltraSsdDiskMbpsReadWrite int
Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
WriteAcceleratorEnabled bool

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

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

caching This property is required. String
The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
diskSizeGb This property is required. Integer
The size of the Data Disk which should be created.
lun This property is required. Integer
The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
storageAccountType This property is required. String

The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.

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

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

The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

name String
The name of the Data Disk.
ultraSsdDiskIopsReadWrite Integer
Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
ultraSsdDiskMbpsReadWrite Integer
Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
writeAcceleratorEnabled Boolean

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

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

caching This property is required. string
The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
diskSizeGb This property is required. number
The size of the Data Disk which should be created.
lun This property is required. number
The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
storageAccountType This property is required. string

The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.

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

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

The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

name string
The name of the Data Disk.
ultraSsdDiskIopsReadWrite number
Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
ultraSsdDiskMbpsReadWrite number
Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
writeAcceleratorEnabled boolean

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

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

caching This property is required. str
The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
disk_size_gb This property is required. int
The size of the Data Disk which should be created.
lun This property is required. int
The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
storage_account_type This property is required. str

The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.

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

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

The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

name str
The name of the Data Disk.
ultra_ssd_disk_iops_read_write int
Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
ultra_ssd_disk_mbps_read_write int
Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
write_accelerator_enabled bool

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

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

caching This property is required. String
The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
diskSizeGb This property is required. Number
The size of the Data Disk which should be created.
lun This property is required. Number
The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
storageAccountType This property is required. String

The Type of Storage Account which should back this Data Disk. Possible values include Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS and UltraSSD_LRS.

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

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

The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

name String
The name of the Data Disk.
ultraSsdDiskIopsReadWrite Number
Specifies the Read-Write IOPS for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
ultraSsdDiskMbpsReadWrite Number
Specifies the bandwidth in MB per second for this Data Disk. Only settable when storage_account_type is PremiumV2_LRS or UltraSSD_LRS.
writeAcceleratorEnabled Boolean

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

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

WindowsVirtualMachineScaleSetExtension
, WindowsVirtualMachineScaleSetExtensionArgs

Name This property is required. string
The name for the Virtual Machine Scale Set Extension.
Publisher This property is required. string
Specifies the Publisher of the Extension.
Type This property is required. string
Specifies the Type of the Extension.
TypeHandlerVersion This property is required. string
Specifies the version of the extension to use, available versions can be found using the Azure CLI.
AutoUpgradeMinorVersion bool
Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
AutomaticUpgradeEnabled bool
Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
ForceUpdateTag string
A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
ProtectedSettings string

A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.

Note: Keys within the protected_settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

ProtectedSettingsFromKeyVault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

A protected_settings_from_key_vault block as defined below.

Note: protected_settings_from_key_vault cannot be used with protected_settings

ProvisionAfterExtensions List<string>
An ordered list of Extension names which this should be provisioned after.
Settings string

A JSON String which specifies Settings for the Extension.

Note: Keys within the settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

Name This property is required. string
The name for the Virtual Machine Scale Set Extension.
Publisher This property is required. string
Specifies the Publisher of the Extension.
Type This property is required. string
Specifies the Type of the Extension.
TypeHandlerVersion This property is required. string
Specifies the version of the extension to use, available versions can be found using the Azure CLI.
AutoUpgradeMinorVersion bool
Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
AutomaticUpgradeEnabled bool
Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
ForceUpdateTag string
A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
ProtectedSettings string

A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.

Note: Keys within the protected_settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

ProtectedSettingsFromKeyVault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

A protected_settings_from_key_vault block as defined below.

Note: protected_settings_from_key_vault cannot be used with protected_settings

ProvisionAfterExtensions []string
An ordered list of Extension names which this should be provisioned after.
Settings string

A JSON String which specifies Settings for the Extension.

Note: Keys within the settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

name This property is required. String
The name for the Virtual Machine Scale Set Extension.
publisher This property is required. String
Specifies the Publisher of the Extension.
type This property is required. String
Specifies the Type of the Extension.
typeHandlerVersion This property is required. String
Specifies the version of the extension to use, available versions can be found using the Azure CLI.
autoUpgradeMinorVersion Boolean
Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
automaticUpgradeEnabled Boolean
Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
forceUpdateTag String
A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
protectedSettings String

A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.

Note: Keys within the protected_settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

protectedSettingsFromKeyVault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

A protected_settings_from_key_vault block as defined below.

Note: protected_settings_from_key_vault cannot be used with protected_settings

provisionAfterExtensions List<String>
An ordered list of Extension names which this should be provisioned after.
settings String

A JSON String which specifies Settings for the Extension.

Note: Keys within the settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

name This property is required. string
The name for the Virtual Machine Scale Set Extension.
publisher This property is required. string
Specifies the Publisher of the Extension.
type This property is required. string
Specifies the Type of the Extension.
typeHandlerVersion This property is required. string
Specifies the version of the extension to use, available versions can be found using the Azure CLI.
autoUpgradeMinorVersion boolean
Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
automaticUpgradeEnabled boolean
Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
forceUpdateTag string
A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
protectedSettings string

A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.

Note: Keys within the protected_settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

protectedSettingsFromKeyVault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

A protected_settings_from_key_vault block as defined below.

Note: protected_settings_from_key_vault cannot be used with protected_settings

provisionAfterExtensions string[]
An ordered list of Extension names which this should be provisioned after.
settings string

A JSON String which specifies Settings for the Extension.

Note: Keys within the settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

name This property is required. str
The name for the Virtual Machine Scale Set Extension.
publisher This property is required. str
Specifies the Publisher of the Extension.
type This property is required. str
Specifies the Type of the Extension.
type_handler_version This property is required. str
Specifies the version of the extension to use, available versions can be found using the Azure CLI.
auto_upgrade_minor_version bool
Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
automatic_upgrade_enabled bool
Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
force_update_tag str
A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
protected_settings str

A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.

Note: Keys within the protected_settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

protected_settings_from_key_vault WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault

A protected_settings_from_key_vault block as defined below.

Note: protected_settings_from_key_vault cannot be used with protected_settings

provision_after_extensions Sequence[str]
An ordered list of Extension names which this should be provisioned after.
settings str

A JSON String which specifies Settings for the Extension.

Note: Keys within the settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

name This property is required. String
The name for the Virtual Machine Scale Set Extension.
publisher This property is required. String
Specifies the Publisher of the Extension.
type This property is required. String
Specifies the Type of the Extension.
typeHandlerVersion This property is required. String
Specifies the version of the extension to use, available versions can be found using the Azure CLI.
autoUpgradeMinorVersion Boolean
Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to true.
automaticUpgradeEnabled Boolean
Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
forceUpdateTag String
A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
protectedSettings String

A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.

Note: Keys within the protected_settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

protectedSettingsFromKeyVault Property Map

A protected_settings_from_key_vault block as defined below.

Note: protected_settings_from_key_vault cannot be used with protected_settings

provisionAfterExtensions List<String>
An ordered list of Extension names which this should be provisioned after.
settings String

A JSON String which specifies Settings for the Extension.

Note: Keys within the settings block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.

WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault
, WindowsVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs

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

WindowsVirtualMachineScaleSetGalleryApplication
, WindowsVirtualMachineScaleSetGalleryApplicationArgs

VersionId
This property is required.
Changes to this property will trigger replacement.
string
Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
ConfigurationBlobUri Changes to this property will trigger replacement. string
Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
Order Changes to this property will trigger replacement. int
Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
Tag Changes to this property will trigger replacement. string
Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
VersionId
This property is required.
Changes to this property will trigger replacement.
string
Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
ConfigurationBlobUri Changes to this property will trigger replacement. string
Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
Order Changes to this property will trigger replacement. int
Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
Tag Changes to this property will trigger replacement. string
Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
versionId
This property is required.
Changes to this property will trigger replacement.
String
Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
configurationBlobUri Changes to this property will trigger replacement. String
Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
order Changes to this property will trigger replacement. Integer
Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
tag Changes to this property will trigger replacement. String
Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
versionId
This property is required.
Changes to this property will trigger replacement.
string
Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
configurationBlobUri Changes to this property will trigger replacement. string
Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
order Changes to this property will trigger replacement. number
Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
tag Changes to this property will trigger replacement. string
Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
version_id
This property is required.
Changes to this property will trigger replacement.
str
Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
configuration_blob_uri Changes to this property will trigger replacement. str
Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
order Changes to this property will trigger replacement. int
Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
tag Changes to this property will trigger replacement. str
Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.
versionId
This property is required.
Changes to this property will trigger replacement.
String
Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
configurationBlobUri Changes to this property will trigger replacement. String
Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
order Changes to this property will trigger replacement. Number
Specifies the order in which the packages have to be installed. Possible values are between 0 and 2147483647. Defaults to 0. Changing this forces a new resource to be created.
tag Changes to this property will trigger replacement. String
Specifies a passthrough value for more generic context. This field can be any valid string value. Changing this forces a new resource to be created.

WindowsVirtualMachineScaleSetIdentity
, WindowsVirtualMachineScaleSetIdentityArgs

Type This property is required. string
Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
IdentityIds List<string>

Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.

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

PrincipalId string
The Principal ID associated with this Managed Service Identity.
TenantId string
The Tenant ID associated with this Managed Service Identity.
Type This property is required. string
Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
IdentityIds []string

Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.

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

PrincipalId string
The Principal ID associated with this Managed Service Identity.
TenantId string
The Tenant ID associated with this Managed Service Identity.
type This property is required. String
Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
identityIds List<String>

Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.

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

principalId String
The Principal ID associated with this Managed Service Identity.
tenantId String
The Tenant ID associated with this Managed Service Identity.
type This property is required. string
Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
identityIds string[]

Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.

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

principalId string
The Principal ID associated with this Managed Service Identity.
tenantId string
The Tenant ID associated with this Managed Service Identity.
type This property is required. str
Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
identity_ids Sequence[str]

Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.

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

principal_id str
The Principal ID associated with this Managed Service Identity.
tenant_id str
The Tenant ID associated with this Managed Service Identity.
type This property is required. String
Specifies the type of Managed Service Identity that should be configured on this Windows Virtual Machine Scale Set. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
identityIds List<String>

Specifies a list of User Assigned Managed Identity IDs to be assigned to this Windows Virtual Machine Scale Set.

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

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

WindowsVirtualMachineScaleSetNetworkInterface
, WindowsVirtualMachineScaleSetNetworkInterfaceArgs

IpConfigurations This property is required. List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration>
One or more ip_configuration blocks as defined above.
Name
This property is required.
Changes to this property will trigger replacement.
string
The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
DnsServers List<string>
A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
EnableAcceleratedNetworking bool
Does this Network Interface support Accelerated Networking? Defaults to false.
EnableIpForwarding bool
Does this Network Interface support IP Forwarding? Defaults to false.
NetworkSecurityGroupId string
The ID of a Network Security Group which should be assigned to this Network Interface.
Primary bool

Is this the Primary IP Configuration?

Note: If multiple network_interface blocks are specified, one must be set to primary.

IpConfigurations This property is required. []WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration
One or more ip_configuration blocks as defined above.
Name
This property is required.
Changes to this property will trigger replacement.
string
The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
DnsServers []string
A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
EnableAcceleratedNetworking bool
Does this Network Interface support Accelerated Networking? Defaults to false.
EnableIpForwarding bool
Does this Network Interface support IP Forwarding? Defaults to false.
NetworkSecurityGroupId string
The ID of a Network Security Group which should be assigned to this Network Interface.
Primary bool

Is this the Primary IP Configuration?

Note: If multiple network_interface blocks are specified, one must be set to primary.

ipConfigurations This property is required. List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration>
One or more ip_configuration blocks as defined above.
name
This property is required.
Changes to this property will trigger replacement.
String
The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
dnsServers List<String>
A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
enableAcceleratedNetworking Boolean
Does this Network Interface support Accelerated Networking? Defaults to false.
enableIpForwarding Boolean
Does this Network Interface support IP Forwarding? Defaults to false.
networkSecurityGroupId String
The ID of a Network Security Group which should be assigned to this Network Interface.
primary Boolean

Is this the Primary IP Configuration?

Note: If multiple network_interface blocks are specified, one must be set to primary.

ipConfigurations This property is required. WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration[]
One or more ip_configuration blocks as defined above.
name
This property is required.
Changes to this property will trigger replacement.
string
The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
dnsServers string[]
A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
enableAcceleratedNetworking boolean
Does this Network Interface support Accelerated Networking? Defaults to false.
enableIpForwarding boolean
Does this Network Interface support IP Forwarding? Defaults to false.
networkSecurityGroupId string
The ID of a Network Security Group which should be assigned to this Network Interface.
primary boolean

Is this the Primary IP Configuration?

Note: If multiple network_interface blocks are specified, one must be set to primary.

ip_configurations This property is required. Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration]
One or more ip_configuration blocks as defined above.
name
This property is required.
Changes to this property will trigger replacement.
str
The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
dns_servers Sequence[str]
A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
enable_accelerated_networking bool
Does this Network Interface support Accelerated Networking? Defaults to false.
enable_ip_forwarding bool
Does this Network Interface support IP Forwarding? Defaults to false.
network_security_group_id str
The ID of a Network Security Group which should be assigned to this Network Interface.
primary bool

Is this the Primary IP Configuration?

Note: If multiple network_interface blocks are specified, one must be set to primary.

ipConfigurations This property is required. List<Property Map>
One or more ip_configuration blocks as defined above.
name
This property is required.
Changes to this property will trigger replacement.
String
The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
dnsServers List<String>
A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
enableAcceleratedNetworking Boolean
Does this Network Interface support Accelerated Networking? Defaults to false.
enableIpForwarding Boolean
Does this Network Interface support IP Forwarding? Defaults to false.
networkSecurityGroupId String
The ID of a Network Security Group which should be assigned to this Network Interface.
primary Boolean

Is this the Primary IP Configuration?

Note: If multiple network_interface blocks are specified, one must be set to primary.

WindowsVirtualMachineScaleSetNetworkInterfaceIpConfiguration
, WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs

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

A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group ResourceGroupName --name VirtualMachineScaleSetName CLI command.

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

LoadBalancerInboundNatRulesIds List<string>

A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

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

Primary bool

Is this the Primary IP Configuration for this Network Interface? Defaults to false.

Note: One ip_configuration block must be marked as Primary for each Network Interface.

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

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

subnet_id is required if version is set to IPv4.

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

A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group ResourceGroupName --name VirtualMachineScaleSetName CLI command.

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

LoadBalancerInboundNatRulesIds []string

A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

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

Primary bool

Is this the Primary IP Configuration for this Network Interface? Defaults to false.

Note: One ip_configuration block must be marked as Primary for each Network Interface.

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

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

subnet_id is required if version is set to IPv4.

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

A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group ResourceGroupName --name VirtualMachineScaleSetName CLI command.

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

loadBalancerInboundNatRulesIds List<String>

A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

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

primary Boolean

Is this the Primary IP Configuration for this Network Interface? Defaults to false.

Note: One ip_configuration block must be marked as Primary for each Network Interface.

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

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

subnet_id is required if version is set to IPv4.

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

A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group ResourceGroupName --name VirtualMachineScaleSetName CLI command.

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

loadBalancerInboundNatRulesIds string[]

A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

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

primary boolean

Is this the Primary IP Configuration for this Network Interface? Defaults to false.

Note: One ip_configuration block must be marked as Primary for each Network Interface.

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

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

subnet_id is required if version is set to IPv4.

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

A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group ResourceGroupName --name VirtualMachineScaleSetName CLI command.

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

load_balancer_inbound_nat_rules_ids Sequence[str]

A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

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

primary bool

Is this the Primary IP Configuration for this Network Interface? Defaults to false.

Note: One ip_configuration block must be marked as Primary for each Network Interface.

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

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

subnet_id is required if version is set to IPv4.

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

A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g. Basic or Standard). Alternatively, you may use the public_ip_prefix_id field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-group ResourceGroupName --name VirtualMachineScaleSetName CLI command.

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

loadBalancerInboundNatRulesIds List<String>

A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.

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

primary Boolean

Is this the Primary IP Configuration for this Network Interface? Defaults to false.

Note: One ip_configuration block must be marked as Primary for each Network Interface.

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

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

subnet_id is required if version is set to IPv4.

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

WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress
, WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs

Name This property is required. 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 Changes to this property will trigger replacement. List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag>
One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
PublicIpPrefixId Changes to this property will trigger replacement. string

The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.

Note: This functionality is in Preview and must be opted into via az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress and then az provider register -n Microsoft.Network.

Version Changes to this property will trigger replacement. string
The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
Name This property is required. 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 Changes to this property will trigger replacement. []WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag
One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
PublicIpPrefixId Changes to this property will trigger replacement. string

The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.

Note: This functionality is in Preview and must be opted into via az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress and then az provider register -n Microsoft.Network.

Version Changes to this property will trigger replacement. string
The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
name This property is required. 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 Changes to this property will trigger replacement. List<WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag>
One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
publicIpPrefixId Changes to this property will trigger replacement. String

The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.

Note: This functionality is in Preview and must be opted into via az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress and then az provider register -n Microsoft.Network.

version Changes to this property will trigger replacement. String
The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
name This property is required. 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 Changes to this property will trigger replacement. WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag[]
One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
publicIpPrefixId Changes to this property will trigger replacement. string

The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.

Note: This functionality is in Preview and must be opted into via az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress and then az provider register -n Microsoft.Network.

version Changes to this property will trigger replacement. string
The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
name This property is required. 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 Changes to this property will trigger replacement. Sequence[WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag]
One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
public_ip_prefix_id Changes to this property will trigger replacement. str

The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.

Note: This functionality is in Preview and must be opted into via az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress and then az provider register -n Microsoft.Network.

version Changes to this property will trigger replacement. str
The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.
name This property is required. 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 Changes to this property will trigger replacement. List<Property Map>
One or more ip_tag blocks as defined above. Changing this forces a new resource to be created.
publicIpPrefixId Changes to this property will trigger replacement. String

The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.

Note: This functionality is in Preview and must be opted into via az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress and then az provider register -n Microsoft.Network.

version Changes to this property will trigger replacement. String
The Internet Protocol Version which should be used for this public IP address. Possible values are IPv4 and IPv6. Defaults to IPv4. Changing this forces a new resource to be created.

WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag
, WindowsVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs

Tag
This property is required.
Changes to this property will trigger replacement.
string
The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
Type
This property is required.
Changes to this property will trigger replacement.
string
The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
Tag
This property is required.
Changes to this property will trigger replacement.
string
The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
Type
This property is required.
Changes to this property will trigger replacement.
string
The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
tag
This property is required.
Changes to this property will trigger replacement.
String
The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
type
This property is required.
Changes to this property will trigger replacement.
String
The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
tag
This property is required.
Changes to this property will trigger replacement.
string
The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
type
This property is required.
Changes to this property will trigger replacement.
string
The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
tag
This property is required.
Changes to this property will trigger replacement.
str
The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
type
This property is required.
Changes to this property will trigger replacement.
str
The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.
tag
This property is required.
Changes to this property will trigger replacement.
String
The IP Tag associated with the Public IP, such as SQL or Storage. Changing this forces a new resource to be created.
type
This property is required.
Changes to this property will trigger replacement.
String
The Type of IP Tag, such as FirstPartyUsage. Changing this forces a new resource to be created.

WindowsVirtualMachineScaleSetOsDisk
, WindowsVirtualMachineScaleSetOsDiskArgs

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

The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

DiskSizeGb int

The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.

Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.

SecureVmDiskEncryptionSetId Changes to this property will trigger replacement. string

The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

Note: secure_vm_disk_encryption_set_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

SecurityEncryptionType Changes to this property will trigger replacement. string

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

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

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

WriteAcceleratorEnabled bool

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

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

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

The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

DiskSizeGb int

The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.

Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.

SecureVmDiskEncryptionSetId Changes to this property will trigger replacement. string

The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

Note: secure_vm_disk_encryption_set_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

SecurityEncryptionType Changes to this property will trigger replacement. string

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

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

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

WriteAcceleratorEnabled bool

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

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

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

The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

diskSizeGb Integer

The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.

Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.

secureVmDiskEncryptionSetId Changes to this property will trigger replacement. String

The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

Note: secure_vm_disk_encryption_set_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

securityEncryptionType Changes to this property will trigger replacement. String

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

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

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

writeAcceleratorEnabled Boolean

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

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

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

The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

diskSizeGb number

The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.

Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.

secureVmDiskEncryptionSetId Changes to this property will trigger replacement. string

The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

Note: secure_vm_disk_encryption_set_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

securityEncryptionType Changes to this property will trigger replacement. string

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

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

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

writeAcceleratorEnabled boolean

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

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

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

The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

disk_size_gb int

The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.

Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.

secure_vm_disk_encryption_set_id Changes to this property will trigger replacement. str

The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

Note: secure_vm_disk_encryption_set_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

security_encryption_type Changes to this property will trigger replacement. str

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

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

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

write_accelerator_enabled bool

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

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

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

The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with secure_vm_disk_encryption_set_id. Changing this forces a new resource to be created.

Note: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

Note: Disk Encryption Sets are in Public Preview in a limited set of regions

diskSizeGb Number

The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.

Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.

secureVmDiskEncryptionSetId Changes to this property will trigger replacement. String

The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

Note: secure_vm_disk_encryption_set_id can only be specified when security_encryption_type is set to DiskWithVMGuestState.

securityEncryptionType Changes to this property will trigger replacement. String

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

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

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

writeAcceleratorEnabled Boolean

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

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

WindowsVirtualMachineScaleSetOsDiskDiffDiskSettings
, WindowsVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs

Option
This property is required.
Changes to this property will trigger replacement.
string
Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
Placement Changes to this property will trigger replacement. string
Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
Option
This property is required.
Changes to this property will trigger replacement.
string
Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
Placement Changes to this property will trigger replacement. string
Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
option
This property is required.
Changes to this property will trigger replacement.
String
Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
placement Changes to this property will trigger replacement. String
Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
option
This property is required.
Changes to this property will trigger replacement.
string
Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
placement Changes to this property will trigger replacement. string
Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
option
This property is required.
Changes to this property will trigger replacement.
str
Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
placement Changes to this property will trigger replacement. str
Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.
option
This property is required.
Changes to this property will trigger replacement.
String
Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
placement Changes to this property will trigger replacement. String
Specifies where to store the Ephemeral Disk. Possible values are CacheDisk and ResourceDisk. Defaults to CacheDisk. Changing this forces a new resource to be created.

WindowsVirtualMachineScaleSetPlan
, WindowsVirtualMachineScaleSetPlanArgs

Name
This property is required.
Changes to this property will trigger replacement.
string
Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
Product
This property is required.
Changes to this property will trigger replacement.
string
Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
Publisher
This property is required.
Changes to this property will trigger replacement.
string
Specifies the publisher of the image. Changing this forces a new resource to be created.
Name
This property is required.
Changes to this property will trigger replacement.
string
Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
Product
This property is required.
Changes to this property will trigger replacement.
string
Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
Publisher
This property is required.
Changes to this property will trigger replacement.
string
Specifies the publisher of the image. Changing this forces a new resource to be created.
name
This property is required.
Changes to this property will trigger replacement.
String
Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
product
This property is required.
Changes to this property will trigger replacement.
String
Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
publisher
This property is required.
Changes to this property will trigger replacement.
String
Specifies the publisher of the image. Changing this forces a new resource to be created.
name
This property is required.
Changes to this property will trigger replacement.
string
Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
product
This property is required.
Changes to this property will trigger replacement.
string
Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
publisher
This property is required.
Changes to this property will trigger replacement.
string
Specifies the publisher of the image. Changing this forces a new resource to be created.
name
This property is required.
Changes to this property will trigger replacement.
str
Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
product
This property is required.
Changes to this property will trigger replacement.
str
Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
publisher
This property is required.
Changes to this property will trigger replacement.
str
Specifies the publisher of the image. Changing this forces a new resource to be created.
name
This property is required.
Changes to this property will trigger replacement.
String
Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
product
This property is required.
Changes to this property will trigger replacement.
String
Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
publisher
This property is required.
Changes to this property will trigger replacement.
String
Specifies the publisher of the image. Changing this forces a new resource to be created.

WindowsVirtualMachineScaleSetRollingUpgradePolicy
, WindowsVirtualMachineScaleSetRollingUpgradePolicyArgs

MaxBatchInstancePercent This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
CrossZoneUpgradesEnabled bool
Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
MaximumSurgeInstancesEnabled bool

Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.

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

PrioritizeUnhealthyInstancesEnabled bool
Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
MaxBatchInstancePercent This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
CrossZoneUpgradesEnabled bool
Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
MaximumSurgeInstancesEnabled bool

Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.

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

PrioritizeUnhealthyInstancesEnabled bool
Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
maxBatchInstancePercent This property is required. 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 This property is required. 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 This property is required. 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 This property is required. String
The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
crossZoneUpgradesEnabled Boolean
Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
maximumSurgeInstancesEnabled Boolean

Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.

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

prioritizeUnhealthyInstancesEnabled Boolean
Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
maxBatchInstancePercent This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
crossZoneUpgradesEnabled boolean
Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
maximumSurgeInstancesEnabled boolean

Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.

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

prioritizeUnhealthyInstancesEnabled boolean
Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
max_batch_instance_percent This property is required. 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 This property is required. 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 This property is required. 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 This property is required. str
The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
cross_zone_upgrades_enabled bool
Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
maximum_surge_instances_enabled bool

Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.

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

prioritize_unhealthy_instances_enabled bool
Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are true or false.
maxBatchInstancePercent This property is required. 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 This property is required. 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 This property is required. 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 This property is required. String
The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
crossZoneUpgradesEnabled Boolean
Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are true or false.
maximumSurgeInstancesEnabled Boolean

Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are true or false.

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

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

WindowsVirtualMachineScaleSetScaleIn
, WindowsVirtualMachineScaleSetScaleInArgs

ForceDeletionEnabled bool
Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
Rule string
The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
ForceDeletionEnabled bool
Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
Rule string
The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
forceDeletionEnabled Boolean
Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
rule String
The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
forceDeletionEnabled boolean
Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
rule string
The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
force_deletion_enabled bool
Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
rule str
The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
forceDeletionEnabled Boolean
Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are true or false. Defaults to false.
rule String
The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are Default, NewestVM and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.

WindowsVirtualMachineScaleSetSecret
, WindowsVirtualMachineScaleSetSecretArgs

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

WindowsVirtualMachineScaleSetSecretCertificate
, WindowsVirtualMachineScaleSetSecretCertificateArgs

Store This property is required. string
The certificate store on the Virtual Machine where the certificate should be added.
Url This property is required. string

The Secret URL of a Key Vault Certificate.

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

Store This property is required. string
The certificate store on the Virtual Machine where the certificate should be added.
Url This property is required. string

The Secret URL of a Key Vault Certificate.

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

store This property is required. String
The certificate store on the Virtual Machine where the certificate should be added.
url This property is required. String

The Secret URL of a Key Vault Certificate.

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

store This property is required. string
The certificate store on the Virtual Machine where the certificate should be added.
url This property is required. string

The Secret URL of a Key Vault Certificate.

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

store This property is required. str
The certificate store on the Virtual Machine where the certificate should be added.
url This property is required. str

The Secret URL of a Key Vault Certificate.

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

store This property is required. String
The certificate store on the Virtual Machine where the certificate should be added.
url This property is required. String

The Secret URL of a Key Vault Certificate.

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

WindowsVirtualMachineScaleSetSourceImageReference
, WindowsVirtualMachineScaleSetSourceImageReferenceArgs

Offer
This property is required.
Changes to this property will trigger replacement.
string
Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
Publisher
This property is required.
Changes to this property will trigger replacement.
string
Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
Sku This property is required. string
Specifies the SKU of the image used to create the virtual machines.
Version This property is required. string
Specifies the version of the image used to create the virtual machines.
Offer
This property is required.
Changes to this property will trigger replacement.
string
Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
Publisher
This property is required.
Changes to this property will trigger replacement.
string
Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
Sku This property is required. string
Specifies the SKU of the image used to create the virtual machines.
Version This property is required. string
Specifies the version of the image used to create the virtual machines.
offer
This property is required.
Changes to this property will trigger replacement.
String
Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
publisher
This property is required.
Changes to this property will trigger replacement.
String
Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
sku This property is required. String
Specifies the SKU of the image used to create the virtual machines.
version This property is required. String
Specifies the version of the image used to create the virtual machines.
offer
This property is required.
Changes to this property will trigger replacement.
string
Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
publisher
This property is required.
Changes to this property will trigger replacement.
string
Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
sku This property is required. string
Specifies the SKU of the image used to create the virtual machines.
version This property is required. string
Specifies the version of the image used to create the virtual machines.
offer
This property is required.
Changes to this property will trigger replacement.
str
Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
publisher
This property is required.
Changes to this property will trigger replacement.
str
Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
sku This property is required. str
Specifies the SKU of the image used to create the virtual machines.
version This property is required. str
Specifies the version of the image used to create the virtual machines.
offer
This property is required.
Changes to this property will trigger replacement.
String
Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
publisher
This property is required.
Changes to this property will trigger replacement.
String
Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
sku This property is required. String
Specifies the SKU of the image used to create the virtual machines.
version This property is required. String
Specifies the version of the image used to create the virtual machines.

WindowsVirtualMachineScaleSetSpotRestore
, WindowsVirtualMachineScaleSetSpotRestoreArgs

Enabled Changes to this property will trigger replacement. bool
Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
Timeout Changes to this property will trigger replacement. string
The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
Enabled Changes to this property will trigger replacement. bool
Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
Timeout Changes to this property will trigger replacement. string
The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
enabled Changes to this property will trigger replacement. Boolean
Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
timeout Changes to this property will trigger replacement. String
The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
enabled Changes to this property will trigger replacement. boolean
Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
timeout Changes to this property will trigger replacement. string
The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
enabled Changes to this property will trigger replacement. bool
Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
timeout Changes to this property will trigger replacement. str
The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.
enabled Changes to this property will trigger replacement. Boolean
Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are true or false. Defaults to false. Changing this forces a new resource to be created.
timeout Changes to this property will trigger replacement. String
The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between 15 minutes and 120 minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults to PT1H. Changing this forces a new resource to be created.

WindowsVirtualMachineScaleSetTerminationNotification
, WindowsVirtualMachineScaleSetTerminationNotificationArgs

Enabled This property is required. bool
Should the termination notification be enabled on this Virtual Machine Scale Set?
Timeout string

Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.

Note: For more information about the termination notification, please refer to this doc.

Enabled This property is required. bool
Should the termination notification be enabled on this Virtual Machine Scale Set?
Timeout string

Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.

Note: For more information about the termination notification, please refer to this doc.

enabled This property is required. Boolean
Should the termination notification be enabled on this Virtual Machine Scale Set?
timeout String

Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.

Note: For more information about the termination notification, please refer to this doc.

enabled This property is required. boolean
Should the termination notification be enabled on this Virtual Machine Scale Set?
timeout string

Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.

Note: For more information about the termination notification, please refer to this doc.

enabled This property is required. bool
Should the termination notification be enabled on this Virtual Machine Scale Set?
timeout str

Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.

Note: For more information about the termination notification, please refer to this doc.

enabled This property is required. Boolean
Should the termination notification be enabled on this Virtual Machine Scale Set?
timeout String

Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to PT5M.

Note: For more information about the termination notification, please refer to this doc.

WindowsVirtualMachineScaleSetWinrmListener
, WindowsVirtualMachineScaleSetWinrmListenerArgs

Protocol
This property is required.
Changes to this property will trigger replacement.
string
The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
CertificateUrl Changes to this property will trigger replacement. string

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

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

Protocol
This property is required.
Changes to this property will trigger replacement.
string
The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
CertificateUrl Changes to this property will trigger replacement. string

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

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

protocol
This property is required.
Changes to this property will trigger replacement.
String
The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
certificateUrl Changes to this property will trigger replacement. String

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

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

protocol
This property is required.
Changes to this property will trigger replacement.
string
The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
certificateUrl Changes to this property will trigger replacement. string

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

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

protocol
This property is required.
Changes to this property will trigger replacement.
str
The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
certificate_url Changes to this property will trigger replacement. str

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

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

protocol
This property is required.
Changes to this property will trigger replacement.
String
The Protocol of the WinRM Listener. Possible values are Http and Https. Changing this forces a new resource to be created.
certificateUrl Changes to this property will trigger replacement. String

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

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

Import

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

$ pulumi import azure:compute/windowsVirtualMachineScaleSet:WindowsVirtualMachineScaleSet example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1
Copy

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.