1. Packages
  2. Packages
  3. Azure Native
  4. API Docs
  5. compute
  6. VirtualMachineScaleSet
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Viewing docs for Azure Native v3.20.0
published on Thursday, Jul 9, 2026 by Pulumi
azure-native logo
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Viewing docs for Azure Native v3.20.0
published on Thursday, Jul 9, 2026 by Pulumi

    Describes a Virtual Machine Scale Set.

    Uses Azure REST API version 2024-11-01. In version 2.x of the Azure Native provider, it used API version 2023-03-01.

    Other available API versions: 2022-08-01, 2022-11-01, 2023-03-01, 2023-07-01, 2023-09-01, 2024-03-01, 2024-07-01, 2025-04-01, 2025-11-01, 2026-03-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native compute [ApiVersion]. See the version guide for details.

    Example Usage

    Create a VMSS with an extension that has suppressFailures enabled

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                DiagnosticsProfile = new AzureNative.Compute.Inputs.DiagnosticsProfileArgs
                {
                    BootDiagnostics = new AzureNative.Compute.Inputs.BootDiagnosticsArgs
                    {
                        Enabled = true,
                        StorageUri = "http://{existing-storage-account-name}.blob.core.windows.net",
                    },
                },
                ExtensionProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionProfileArgs
                {
                    Extensions = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionArgs
                        {
                            AutoUpgradeMinorVersion = false,
                            Name = "{extension-name}",
                            Publisher = "{extension-Publisher}",
                            Settings = null,
                            SuppressFailures = true,
                            Type = "{extension-Type}",
                            TypeHandlerVersion = "{handler-version}",
                        },
                    },
                },
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				DiagnosticsProfile: &compute.DiagnosticsProfileArgs{
    					BootDiagnostics: &compute.BootDiagnosticsArgs{
    						Enabled:    pulumi.Bool(true),
    						StorageUri: pulumi.String("http://{existing-storage-account-name}.blob.core.windows.net"),
    					},
    				},
    				ExtensionProfile: &compute.VirtualMachineScaleSetExtensionProfileArgs{
    					Extensions: compute.VirtualMachineScaleSetExtensionTypeArray{
    						&compute.VirtualMachineScaleSetExtensionTypeArgs{
    							AutoUpgradeMinorVersion: pulumi.Bool(false),
    							Name:                    pulumi.String("{extension-name}"),
    							Publisher:               pulumi.String("{extension-Publisher}"),
    							Settings:                pulumi.Any(map[string]interface{}{}),
    							SuppressFailures:        pulumi.Bool(true),
    							Type:                    pulumi.String("{extension-Type}"),
    							TypeHandlerVersion:      pulumi.String("{handler-version}"),
    						},
    					},
    				},
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        diagnostics_profile = {
          boot_diagnostics = {
            enabled     = true
            storage_uri = "http://{existing-storage-account-name}.blob.core.windows.net"
          }
        }
        extension_profile = {
          extensions = [{
            "autoUpgradeMinorVersion" = false
            "name"                    = "{extension-name}"
            "publisher"               = "{extension-Publisher}"
            "settings"                = {}
            "suppressFailures"        = true
            "type"                    = "{extension-Type}"
            "typeHandlerVersion"      = "{handler-version}"
          }]
        }
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.DiagnosticsProfileArgs;
    import com.pulumi.azurenative.compute.inputs.BootDiagnosticsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetExtensionProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .diagnosticsProfile(DiagnosticsProfileArgs.builder()
                        .bootDiagnostics(BootDiagnosticsArgs.builder()
                            .enabled(true)
                            .storageUri("http://{existing-storage-account-name}.blob.core.windows.net")
                            .build())
                        .build())
                    .extensionProfile(VirtualMachineScaleSetExtensionProfileArgs.builder()
                        .extensions(VirtualMachineScaleSetExtensionArgs.builder()
                            .autoUpgradeMinorVersion(false)
                            .name("{extension-name}")
                            .publisher("{extension-Publisher}")
                            .settings(Map.ofEntries(
                            ))
                            .suppressFailures(true)
                            .type("{extension-Type}")
                            .typeHandlerVersion("{handler-version}")
                            .build())
                        .build())
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            diagnosticsProfile: {
                bootDiagnostics: {
                    enabled: true,
                    storageUri: "http://{existing-storage-account-name}.blob.core.windows.net",
                },
            },
            extensionProfile: {
                extensions: [{
                    autoUpgradeMinorVersion: false,
                    name: "{extension-name}",
                    publisher: "{extension-Publisher}",
                    settings: {},
                    suppressFailures: true,
                    type: "{extension-Type}",
                    typeHandlerVersion: "{handler-version}",
                }],
            },
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "diagnostics_profile": {
                "boot_diagnostics": {
                    "enabled": True,
                    "storage_uri": "http://{existing-storage-account-name}.blob.core.windows.net",
                },
            },
            "extension_profile": {
                "extensions": [{
                    "auto_upgrade_minor_version": False,
                    "name": "{extension-name}",
                    "publisher": "{extension-Publisher}",
                    "settings": {},
                    "suppress_failures": True,
                    "type": "{extension-Type}",
                    "type_handler_version": "{handler-version}",
                }],
            },
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            diagnosticsProfile:
              bootDiagnostics:
                enabled: true
                storageUri: http://{existing-storage-account-name}.blob.core.windows.net
            extensionProfile:
              extensions:
                - autoUpgradeMinorVersion: false
                  name: '{extension-name}'
                  publisher: '{extension-Publisher}'
                  settings: {}
                  suppressFailures: true
                  type: '{extension-Type}'
                  typeHandlerVersion: '{handler-version}'
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a VMSS with an extension with protectedSettingsFromKeyVault

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                DiagnosticsProfile = new AzureNative.Compute.Inputs.DiagnosticsProfileArgs
                {
                    BootDiagnostics = new AzureNative.Compute.Inputs.BootDiagnosticsArgs
                    {
                        Enabled = true,
                        StorageUri = "http://{existing-storage-account-name}.blob.core.windows.net",
                    },
                },
                ExtensionProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionProfileArgs
                {
                    Extensions = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionArgs
                        {
                            AutoUpgradeMinorVersion = false,
                            Name = "{extension-name}",
                            ProtectedSettingsFromKeyVault = new AzureNative.Compute.Inputs.KeyVaultSecretReferenceArgs
                            {
                                SecretUrl = "https://kvName.vault.azure.net/secrets/secretName/79b88b3a6f5440ffb2e73e44a0db712e",
                                SourceVault = new AzureNative.Compute.Inputs.SubResourceArgs
                                {
                                    Id = "/subscriptions/a53f7094-a16c-47af-abe4-b05c05d0d79a/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/kvName",
                                },
                            },
                            Publisher = "{extension-Publisher}",
                            Settings = null,
                            Type = "{extension-Type}",
                            TypeHandlerVersion = "{handler-version}",
                        },
                    },
                },
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				DiagnosticsProfile: &compute.DiagnosticsProfileArgs{
    					BootDiagnostics: &compute.BootDiagnosticsArgs{
    						Enabled:    pulumi.Bool(true),
    						StorageUri: pulumi.String("http://{existing-storage-account-name}.blob.core.windows.net"),
    					},
    				},
    				ExtensionProfile: &compute.VirtualMachineScaleSetExtensionProfileArgs{
    					Extensions: compute.VirtualMachineScaleSetExtensionTypeArray{
    						&compute.VirtualMachineScaleSetExtensionTypeArgs{
    							AutoUpgradeMinorVersion: pulumi.Bool(false),
    							Name:                    pulumi.String("{extension-name}"),
    							ProtectedSettingsFromKeyVault: &compute.KeyVaultSecretReferenceArgs{
    								SecretUrl: pulumi.String("https://kvName.vault.azure.net/secrets/secretName/79b88b3a6f5440ffb2e73e44a0db712e"),
    								SourceVault: &compute.SubResourceArgs{
    									Id: pulumi.String("/subscriptions/a53f7094-a16c-47af-abe4-b05c05d0d79a/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/kvName"),
    								},
    							},
    							Publisher:          pulumi.String("{extension-Publisher}"),
    							Settings:           pulumi.Any(map[string]interface{}{}),
    							Type:               pulumi.String("{extension-Type}"),
    							TypeHandlerVersion: pulumi.String("{handler-version}"),
    						},
    					},
    				},
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        diagnostics_profile = {
          boot_diagnostics = {
            enabled     = true
            storage_uri = "http://{existing-storage-account-name}.blob.core.windows.net"
          }
        }
        extension_profile = {
          extensions = [{
            "autoUpgradeMinorVersion" = false
            "name"                    = "{extension-name}"
            "protectedSettingsFromKeyVault" = {
              "secretUrl" = "https://kvName.vault.azure.net/secrets/secretName/79b88b3a6f5440ffb2e73e44a0db712e"
              "sourceVault" = {
                "id" = "/subscriptions/a53f7094-a16c-47af-abe4-b05c05d0d79a/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/kvName"
              }
            }
            "publisher"          = "{extension-Publisher}"
            "settings"           = {}
            "type"               = "{extension-Type}"
            "typeHandlerVersion" = "{handler-version}"
          }]
        }
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.DiagnosticsProfileArgs;
    import com.pulumi.azurenative.compute.inputs.BootDiagnosticsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetExtensionProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .diagnosticsProfile(DiagnosticsProfileArgs.builder()
                        .bootDiagnostics(BootDiagnosticsArgs.builder()
                            .enabled(true)
                            .storageUri("http://{existing-storage-account-name}.blob.core.windows.net")
                            .build())
                        .build())
                    .extensionProfile(VirtualMachineScaleSetExtensionProfileArgs.builder()
                        .extensions(VirtualMachineScaleSetExtensionArgs.builder()
                            .autoUpgradeMinorVersion(false)
                            .name("{extension-name}")
                            .protectedSettingsFromKeyVault(KeyVaultSecretReferenceArgs.builder()
                                .secretUrl("https://kvName.vault.azure.net/secrets/secretName/79b88b3a6f5440ffb2e73e44a0db712e")
                                .sourceVault(SubResourceArgs.builder()
                                    .id("/subscriptions/a53f7094-a16c-47af-abe4-b05c05d0d79a/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/kvName")
                                    .build())
                                .build())
                            .publisher("{extension-Publisher}")
                            .settings(Map.ofEntries(
                            ))
                            .type("{extension-Type}")
                            .typeHandlerVersion("{handler-version}")
                            .build())
                        .build())
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            diagnosticsProfile: {
                bootDiagnostics: {
                    enabled: true,
                    storageUri: "http://{existing-storage-account-name}.blob.core.windows.net",
                },
            },
            extensionProfile: {
                extensions: [{
                    autoUpgradeMinorVersion: false,
                    name: "{extension-name}",
                    protectedSettingsFromKeyVault: {
                        secretUrl: "https://kvName.vault.azure.net/secrets/secretName/79b88b3a6f5440ffb2e73e44a0db712e",
                        sourceVault: {
                            id: "/subscriptions/a53f7094-a16c-47af-abe4-b05c05d0d79a/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/kvName",
                        },
                    },
                    publisher: "{extension-Publisher}",
                    settings: {},
                    type: "{extension-Type}",
                    typeHandlerVersion: "{handler-version}",
                }],
            },
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "diagnostics_profile": {
                "boot_diagnostics": {
                    "enabled": True,
                    "storage_uri": "http://{existing-storage-account-name}.blob.core.windows.net",
                },
            },
            "extension_profile": {
                "extensions": [{
                    "auto_upgrade_minor_version": False,
                    "name": "{extension-name}",
                    "protected_settings_from_key_vault": {
                        "secret_url": "https://kvName.vault.azure.net/secrets/secretName/79b88b3a6f5440ffb2e73e44a0db712e",
                        "source_vault": {
                            "id": "/subscriptions/a53f7094-a16c-47af-abe4-b05c05d0d79a/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/kvName",
                        },
                    },
                    "publisher": "{extension-Publisher}",
                    "settings": {},
                    "type": "{extension-Type}",
                    "type_handler_version": "{handler-version}",
                }],
            },
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            diagnosticsProfile:
              bootDiagnostics:
                enabled: true
                storageUri: http://{existing-storage-account-name}.blob.core.windows.net
            extensionProfile:
              extensions:
                - autoUpgradeMinorVersion: false
                  name: '{extension-name}'
                  protectedSettingsFromKeyVault:
                    secretUrl: https://kvName.vault.azure.net/secrets/secretName/79b88b3a6f5440ffb2e73e44a0db712e
                    sourceVault:
                      id: /subscriptions/a53f7094-a16c-47af-abe4-b05c05d0d79a/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/kvName
                  publisher: '{extension-Publisher}'
                  settings: {}
                  type: '{extension-Type}'
                  typeHandlerVersion: '{handler-version}'
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a custom-image scale set from an unmanaged generalized os image.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        Image = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                        {
                            Uri = "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd",
                        },
                        Name = "osDisk",
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						Image: &compute.VirtualHardDiskArgs{
    							Uri: pulumi.String("http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"),
    						},
    						Name: pulumi.String("osDisk"),
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            image = {
              uri = "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"
            }
            name = "osDisk"
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualHardDiskArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .image(VirtualHardDiskArgs.builder()
                                .uri("http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd")
                                .build())
                            .name("osDisk")
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    image: {
                        uri: "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd",
                    },
                    name: "osDisk",
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "image": {
                        "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd",
                    },
                    "name": "osDisk",
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                image:
                  uri: http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd
                name: osDisk
          vmScaleSetName: '{vmss-name}'
    

    Create a platform-image scale set with unmanaged os disks.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        Name = "osDisk",
                        VhdContainers = new[]
                        {
                            "http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer",
                            "http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer",
                            "http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer",
                            "http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer",
                            "http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						Name:         pulumi.String("osDisk"),
    						VhdContainers: pulumi.StringArray{
    							pulumi.String("http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer"),
    							pulumi.String("http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer"),
    							pulumi.String("http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer"),
    							pulumi.String("http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer"),
    							pulumi.String("http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer"),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching        = "ReadWrite"
            create_option  = "FromImage"
            name           = "osDisk"
            vhd_containers = ["http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer", "http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer", "http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer", "http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer", "http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer"]
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .name("osDisk")
                            .vhdContainers(                        
                                "http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer",
                                "http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer",
                                "http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer",
                                "http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer",
                                "http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer")
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    name: "osDisk",
                    vhdContainers: [
                        "http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer",
                        "http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer",
                        "http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer",
                        "http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer",
                        "http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer",
                    ],
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "name": "osDisk",
                    "vhd_containers": [
                        "http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer",
                        "http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer",
                        "http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer",
                        "http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer",
                        "http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer",
                    ],
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                name: osDisk
                vhdContainers:
                  - http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer
                  - http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer
                  - http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer
                  - http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer
                  - http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set from a custom image.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set from a generalized shared image.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set from a specialized shared image.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        storage_profile = {
          image_reference = {
            id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            storageProfile: {
                imageReference: {
                    id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "storage_profile": {
                "image_reference": {
                    "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            storageProfile:
              imageReference:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set where nic config has DisableTcpStateTracking property

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            DisableTcpStateTracking = true,
                            EnableAcceleratedNetworking = true,
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{nicConfig1-name}",
                            Primary = true,
                        },
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            DisableTcpStateTracking = false,
                            EnableAcceleratedNetworking = false,
                            EnableIPForwarding = false,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{nicConfig2-name}",
                                    Primary = true,
                                    PrivateIPAddressVersion = AzureNative.Compute.IPVersion.IPv4,
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}",
                                    },
                                },
                            },
                            Name = "{nicConfig2-name}",
                            Primary = false,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							DisableTcpStateTracking:     pulumi.Bool(true),
    							EnableAcceleratedNetworking: pulumi.Bool(true),
    							EnableIPForwarding:          pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{nicConfig1-name}"),
    							Primary: pulumi.Bool(true),
    						},
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							DisableTcpStateTracking:     pulumi.Bool(false),
    							EnableAcceleratedNetworking: pulumi.Bool(false),
    							EnableIPForwarding:          pulumi.Bool(false),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name:                    pulumi.String("{nicConfig2-name}"),
    									Primary:                 pulumi.Bool(true),
    									PrivateIPAddressVersion: pulumi.String(compute.IPVersionIPv4),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{nicConfig2-name}"),
    							Primary: pulumi.Bool(false),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "disableTcpStateTracking"     = true
            "enableAcceleratedNetworking" = true
            "enableIPForwarding"          = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{nicConfig1-name}"
            "primary" = true
            }, {
            "disableTcpStateTracking"     = false
            "enableAcceleratedNetworking" = false
            "enableIPForwarding"          = false
            "ipConfigurations" = [{
              "name"                    = "{nicConfig2-name}"
              "primary"                 = true
              "privateIPAddressVersion" = "IPv4"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}"
              }
            }]
            "name"    = "{nicConfig2-name}"
            "primary" = false
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(                    
                            VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                                .disableTcpStateTracking(true)
                                .enableAcceleratedNetworking(true)
                                .enableIPForwarding(true)
                                .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                    .name("{vmss-name}")
                                    .subnet(ApiEntityReferenceArgs.builder()
                                        .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                        .build())
                                    .build())
                                .name("{nicConfig1-name}")
                                .primary(true)
                                .build(),
                            VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                                .disableTcpStateTracking(false)
                                .enableAcceleratedNetworking(false)
                                .enableIPForwarding(false)
                                .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                    .name("{nicConfig2-name}")
                                    .primary(true)
                                    .privateIPAddressVersion("IPv4")
                                    .subnet(ApiEntityReferenceArgs.builder()
                                        .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}")
                                        .build())
                                    .build())
                                .name("{nicConfig2-name}")
                                .primary(false)
                                .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [
                    {
                        disableTcpStateTracking: true,
                        enableAcceleratedNetworking: true,
                        enableIPForwarding: true,
                        ipConfigurations: [{
                            name: "{vmss-name}",
                            subnet: {
                                id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                            },
                        }],
                        name: "{nicConfig1-name}",
                        primary: true,
                    },
                    {
                        disableTcpStateTracking: false,
                        enableAcceleratedNetworking: false,
                        enableIPForwarding: false,
                        ipConfigurations: [{
                            name: "{nicConfig2-name}",
                            primary: true,
                            privateIPAddressVersion: azure_native.compute.IPVersion.IPv4,
                            subnet: {
                                id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}",
                            },
                        }],
                        name: "{nicConfig2-name}",
                        primary: false,
                    },
                ],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [
                    {
                        "disable_tcp_state_tracking": True,
                        "enable_accelerated_networking": True,
                        "enable_ip_forwarding": True,
                        "ip_configurations": [{
                            "name": "{vmss-name}",
                            "subnet": {
                                "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                            },
                        }],
                        "name": "{nicConfig1-name}",
                        "primary": True,
                    },
                    {
                        "disable_tcp_state_tracking": False,
                        "enable_accelerated_networking": False,
                        "enable_ip_forwarding": False,
                        "ip_configurations": [{
                            "name": "{nicConfig2-name}",
                            "primary": True,
                            "private_ip_address_version": azure_native.compute.IPVersion.I_PV4,
                            "subnet": {
                                "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}",
                            },
                        }],
                        "name": "{nicConfig2-name}",
                        "primary": False,
                    },
                ],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - disableTcpStateTracking: true
                  enableAcceleratedNetworking: true
                  enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{nicConfig1-name}'
                  primary: true
                - disableTcpStateTracking: false
                  enableAcceleratedNetworking: false
                  enableIPForwarding: false
                  ipConfigurations:
                    - name: '{nicConfig2-name}'
                      primary: true
                      privateIPAddressVersion: IPv4
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}
                  name: '{nicConfig2-name}'
                  primary: false
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Application Profile

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                ApplicationProfile = new AzureNative.Compute.Inputs.ApplicationProfileArgs
                {
                    GalleryApplications = new[]
                    {
                        new AzureNative.Compute.Inputs.VMGalleryApplicationArgs
                        {
                            ConfigurationReference = "https://mystorageaccount.blob.core.windows.net/configurations/settings.config",
                            EnableAutomaticUpgrade = false,
                            Order = 1,
                            PackageReferenceId = "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0",
                            Tags = "myTag1",
                            TreatFailureAsDeploymentFailure = true,
                        },
                        new AzureNative.Compute.Inputs.VMGalleryApplicationArgs
                        {
                            PackageReferenceId = "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1",
                        },
                    },
                },
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				ApplicationProfile: &compute.ApplicationProfileArgs{
    					GalleryApplications: compute.VMGalleryApplicationArray{
    						&compute.VMGalleryApplicationArgs{
    							ConfigurationReference:          pulumi.String("https://mystorageaccount.blob.core.windows.net/configurations/settings.config"),
    							EnableAutomaticUpgrade:          pulumi.Bool(false),
    							Order:                           pulumi.Int(1),
    							PackageReferenceId:              pulumi.String("/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0"),
    							Tags:                            pulumi.String("myTag1"),
    							TreatFailureAsDeploymentFailure: pulumi.Bool(true),
    						},
    						&compute.VMGalleryApplicationArgs{
    							PackageReferenceId: pulumi.String("/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1"),
    						},
    					},
    				},
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        application_profile = {
          gallery_applications = [{
            "configurationReference"          = "https://mystorageaccount.blob.core.windows.net/configurations/settings.config"
            "enableAutomaticUpgrade"          = false
            "order"                           = 1
            "packageReferenceId"              = "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0"
            "tags"                            = "myTag1"
            "treatFailureAsDeploymentFailure" = true
            }, {
            "packageReferenceId" = "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1"
          }]
        }
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ApplicationProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .applicationProfile(ApplicationProfileArgs.builder()
                        .galleryApplications(                    
                            VMGalleryApplicationArgs.builder()
                                .configurationReference("https://mystorageaccount.blob.core.windows.net/configurations/settings.config")
                                .enableAutomaticUpgrade(false)
                                .order(1)
                                .packageReferenceId("/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0")
                                .tags("myTag1")
                                .treatFailureAsDeploymentFailure(true)
                                .build(),
                            VMGalleryApplicationArgs.builder()
                                .packageReferenceId("/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1")
                                .build())
                        .build())
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            applicationProfile: {
                galleryApplications: [
                    {
                        configurationReference: "https://mystorageaccount.blob.core.windows.net/configurations/settings.config",
                        enableAutomaticUpgrade: false,
                        order: 1,
                        packageReferenceId: "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0",
                        tags: "myTag1",
                        treatFailureAsDeploymentFailure: true,
                    },
                    {
                        packageReferenceId: "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1",
                    },
                ],
            },
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "application_profile": {
                "gallery_applications": [
                    {
                        "configuration_reference": "https://mystorageaccount.blob.core.windows.net/configurations/settings.config",
                        "enable_automatic_upgrade": False,
                        "order": 1,
                        "package_reference_id": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0",
                        "tags": "myTag1",
                        "treat_failure_as_deployment_failure": True,
                    },
                    {
                        "package_reference_id": "/subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1",
                    },
                ],
            },
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            applicationProfile:
              galleryApplications:
                - configurationReference: https://mystorageaccount.blob.core.windows.net/configurations/settings.config
                  enableAutomaticUpgrade: false
                  order: 1
                  packageReferenceId: /subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdb/resourceGroups/myresourceGroupName2/providers/Microsoft.Compute/galleries/myGallery1/applications/MyApplication1/versions/1.0
                  tags: myTag1
                  treatFailureAsDeploymentFailure: true
                - packageReferenceId: /subscriptions/32c17a9e-aa7b-4ba5-a45b-e324116b6fdg/resourceGroups/myresourceGroupName3/providers/Microsoft.Compute/galleries/myGallery2/applications/MyApplication2/versions/1.1
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Automatic Zone Rebalancing enabled

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = false,
            ResiliencyPolicy = new AzureNative.Compute.Inputs.ResiliencyPolicyArgs
            {
                AutomaticZoneRebalancingPolicy = new AzureNative.Compute.Inputs.AutomaticZoneRebalancingPolicyArgs
                {
                    Enabled = true,
                    RebalanceBehavior = AzureNative.Compute.RebalanceBehavior.CreateBeforeDelete,
                    RebalanceStrategy = AzureNative.Compute.RebalanceStrategy.Recreate,
                },
            },
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:      pulumi.String("westus"),
    			Overprovision: pulumi.Bool(false),
    			ResiliencyPolicy: &compute.ResiliencyPolicyArgs{
    				AutomaticZoneRebalancingPolicy: &compute.AutomaticZoneRebalancingPolicyArgs{
    					Enabled:           pulumi.Bool(true),
    					RebalanceBehavior: pulumi.String(compute.RebalanceBehaviorCreateBeforeDelete),
    					RebalanceStrategy: pulumi.String(compute.RebalanceStrategyRecreate),
    				},
    			},
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location      = "westus"
      overprovision = false
      resiliency_policy = {
        automatic_zone_rebalancing_policy = {
          enabled            = true
          rebalance_behavior = "CreateBeforeDelete"
          rebalance_strategy = "Recreate"
        }
      }
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.ResiliencyPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.AutomaticZoneRebalancingPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(false)
                .resiliencyPolicy(ResiliencyPolicyArgs.builder()
                    .automaticZoneRebalancingPolicy(AutomaticZoneRebalancingPolicyArgs.builder()
                        .enabled(true)
                        .rebalanceBehavior("CreateBeforeDelete")
                        .rebalanceStrategy("Recreate")
                        .build())
                    .build())
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: false,
        resiliencyPolicy: {
            automaticZoneRebalancingPolicy: {
                enabled: true,
                rebalanceBehavior: azure_native.compute.RebalanceBehavior.CreateBeforeDelete,
                rebalanceStrategy: azure_native.compute.RebalanceStrategy.Recreate,
            },
        },
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=False,
        resiliency_policy={
            "automatic_zone_rebalancing_policy": {
                "enabled": True,
                "rebalance_behavior": azure_native.compute.RebalanceBehavior.CREATE_BEFORE_DELETE,
                "rebalance_strategy": azure_native.compute.RebalanceStrategy.RECREATE,
            },
        },
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: false
          resiliencyPolicy:
            automaticZoneRebalancingPolicy:
              enabled: true
              rebalanceBehavior: CreateBeforeDelete
              rebalanceStrategy: Recreate
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Disk Controller Type

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            ScheduledEventsPolicy = new AzureNative.Compute.Inputs.ScheduledEventsPolicyArgs
            {
                ScheduledEventsAdditionalPublishingTargets = new AzureNative.Compute.Inputs.ScheduledEventsAdditionalPublishingTargetsArgs
                {
                    EventGridAndResourceGraph = new AzureNative.Compute.Inputs.EventGridAndResourceGraphArgs
                    {
                        Enable = true,
                    },
                },
                UserInitiatedReboot = new AzureNative.Compute.Inputs.UserInitiatedRebootArgs
                {
                    AutomaticallyApprove = true,
                },
                UserInitiatedRedeploy = new AzureNative.Compute.Inputs.UserInitiatedRedeployArgs
                {
                    AutomaticallyApprove = true,
                },
            },
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                HardwareProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetHardwareProfileArgs
                {
                    VmSizeProperties = new AzureNative.Compute.Inputs.VMSizePropertiesArgs
                    {
                        VCPUsAvailable = 1,
                        VCPUsPerCore = 1,
                    },
                },
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    DiskControllerType = AzureNative.Compute.DiskControllerTypes.NVMe,
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
                UserData = "RXhhbXBsZSBVc2VyRGF0YQ==",
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			ScheduledEventsPolicy: &compute.ScheduledEventsPolicyArgs{
    				ScheduledEventsAdditionalPublishingTargets: &compute.ScheduledEventsAdditionalPublishingTargetsArgs{
    					EventGridAndResourceGraph: &compute.EventGridAndResourceGraphArgs{
    						Enable: pulumi.Bool(true),
    					},
    				},
    				UserInitiatedReboot: &compute.UserInitiatedRebootArgs{
    					AutomaticallyApprove: pulumi.Bool(true),
    				},
    				UserInitiatedRedeploy: &compute.UserInitiatedRedeployArgs{
    					AutomaticallyApprove: pulumi.Bool(true),
    				},
    			},
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				HardwareProfile: &compute.VirtualMachineScaleSetHardwareProfileArgs{
    					VmSizeProperties: &compute.VMSizePropertiesArgs{
    						VCPUsAvailable: pulumi.Int(1),
    						VCPUsPerCore:   pulumi.Int(1),
    					},
    				},
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					DiskControllerType: pulumi.String(compute.DiskControllerTypesNVMe),
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    				UserData: pulumi.String("RXhhbXBsZSBVc2VyRGF0YQ=="),
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      scheduled_events_policy = {
        scheduled_events_additional_publishing_targets = {
          event_grid_and_resource_graph = {
            enable = true
          }
        }
        user_initiated_reboot = {
          automatically_approve = true
        }
        user_initiated_redeploy = {
          automatically_approve = true
        }
      }
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        hardware_profile = {
          vm_size_properties = {
            v_cp_us_available = 1
            v_cp_us_per_core  = 1
          }
        }
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          disk_controller_type = "NVMe"
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
        user_data = "RXhhbXBsZSBVc2VyRGF0YQ=="
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.ScheduledEventsPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.ScheduledEventsAdditionalPublishingTargetsArgs;
    import com.pulumi.azurenative.compute.inputs.EventGridAndResourceGraphArgs;
    import com.pulumi.azurenative.compute.inputs.UserInitiatedRebootArgs;
    import com.pulumi.azurenative.compute.inputs.UserInitiatedRedeployArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetHardwareProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VMSizePropertiesArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .scheduledEventsPolicy(ScheduledEventsPolicyArgs.builder()
                    .scheduledEventsAdditionalPublishingTargets(ScheduledEventsAdditionalPublishingTargetsArgs.builder()
                        .eventGridAndResourceGraph(EventGridAndResourceGraphArgs.builder()
                            .enable(true)
                            .build())
                        .build())
                    .userInitiatedReboot(UserInitiatedRebootArgs.builder()
                        .automaticallyApprove(true)
                        .build())
                    .userInitiatedRedeploy(UserInitiatedRedeployArgs.builder()
                        .automaticallyApprove(true)
                        .build())
                    .build())
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .hardwareProfile(VirtualMachineScaleSetHardwareProfileArgs.builder()
                        .vmSizeProperties(VMSizePropertiesArgs.builder()
                            .vCPUsAvailable(1)
                            .vCPUsPerCore(1)
                            .build())
                        .build())
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .diskControllerType("NVMe")
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .userData("RXhhbXBsZSBVc2VyRGF0YQ==")
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        scheduledEventsPolicy: {
            scheduledEventsAdditionalPublishingTargets: {
                eventGridAndResourceGraph: {
                    enable: true,
                },
            },
            userInitiatedReboot: {
                automaticallyApprove: true,
            },
            userInitiatedRedeploy: {
                automaticallyApprove: true,
            },
        },
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            hardwareProfile: {
                vmSizeProperties: {
                    vCPUsAvailable: 1,
                    vCPUsPerCore: 1,
                },
            },
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                diskControllerType: azure_native.compute.DiskControllerTypes.NVMe,
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
            userData: "RXhhbXBsZSBVc2VyRGF0YQ==",
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        scheduled_events_policy={
            "scheduled_events_additional_publishing_targets": {
                "event_grid_and_resource_graph": {
                    "enable": True,
                },
            },
            "user_initiated_reboot": {
                "automatically_approve": True,
            },
            "user_initiated_redeploy": {
                "automatically_approve": True,
            },
        },
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "hardware_profile": {
                "vm_size_properties": {
                    "v_cpus_available": 1,
                    "v_cpus_per_core": 1,
                },
            },
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "disk_controller_type": azure_native.compute.DiskControllerTypes.NV_ME,
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
            "user_data": "RXhhbXBsZSBVc2VyRGF0YQ==",
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          scheduledEventsPolicy:
            scheduledEventsAdditionalPublishingTargets:
              eventGridAndResourceGraph:
                enable: true
            userInitiatedReboot:
              automaticallyApprove: true
            userInitiatedRedeploy:
              automaticallyApprove: true
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            hardwareProfile:
              vmSizeProperties:
                vCPUsAvailable: 1
                vCPUsPerCore: 1
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              diskControllerType: NVMe
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
            userData: RXhhbXBsZSBVc2VyRGF0YQ==
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with DiskEncryptionSet resource in os disk and data disk.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_DS1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    DataDisks = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDiskArgs
                        {
                            Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                            CreateOption = AzureNative.Compute.DiskCreateOptionTypes.Empty,
                            DiskSizeGB = 1023,
                            Lun = 0,
                            ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                            {
                                DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                                {
                                    Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
                                },
                                StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                            },
                        },
                    },
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                            {
                                Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
                            },
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_DS1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					DataDisks: compute.VirtualMachineScaleSetDataDiskArray{
    						&compute.VirtualMachineScaleSetDataDiskArgs{
    							Caching:      compute.CachingTypesReadWrite,
    							CreateOption: pulumi.String(compute.DiskCreateOptionTypesEmpty),
    							DiskSizeGB:   pulumi.Int(1023),
    							Lun:          pulumi.Int(0),
    							ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    								DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    									Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"),
    								},
    								StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    							},
    						},
    					},
    					ImageReference: &compute.ImageReferenceArgs{
    						Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    								Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"),
    							},
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_DS1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          data_disks = [{
            "caching"      = "ReadWrite"
            "createOption" = "Empty"
            "diskSizeGB"   = 1023
            "lun"          = 0
            "managedDisk" = {
              "diskEncryptionSet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
              }
              "storageAccountType" = "Standard_LRS"
            }
          }]
          image_reference = {
            id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              disk_encryption_set = {
                id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
              }
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import com.pulumi.azurenative.compute.inputs.DiskEncryptionSetParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_DS1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .dataDisks(VirtualMachineScaleSetDataDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("Empty")
                            .diskSizeGB(1023)
                            .lun(0)
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}")
                                    .build())
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .imageReference(ImageReferenceArgs.builder()
                            .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .diskEncryptionSet(DiskEncryptionSetParametersArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}")
                                    .build())
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_DS1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                dataDisks: [{
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.Empty,
                    diskSizeGB: 1023,
                    lun: 0,
                    managedDisk: {
                        diskEncryptionSet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
                        },
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                }],
                imageReference: {
                    id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        diskEncryptionSet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
                        },
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_DS1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "data_disks": [{
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.EMPTY,
                    "disk_size_gb": 1023,
                    "lun": 0,
                    "managed_disk": {
                        "disk_encryption_set": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
                        },
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                }],
                "image_reference": {
                    "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "disk_encryption_set": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
                        },
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_DS1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              dataDisks:
                - caching: ReadWrite
                  createOption: Empty
                  diskSizeGB: 1023
                  lun: 0
                  managedDisk:
                    diskEncryptionSet:
                      id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}
                    storageAccountType: Standard_LRS
              imageReference:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  diskEncryptionSet:
                    id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Fpga Network Interfaces.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableAcceleratedNetworking = false,
                            EnableFpga = true,
                            EnableIPForwarding = false,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{fpgaNic-Name}",
                                    Primary = true,
                                    PrivateIPAddressVersion = AzureNative.Compute.IPVersion.IPv4,
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}",
                                    },
                                },
                            },
                            Name = "{fpgaNic-Name}",
                            Primary = false,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableAcceleratedNetworking: pulumi.Bool(false),
    							EnableFpga:                  pulumi.Bool(true),
    							EnableIPForwarding:          pulumi.Bool(false),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name:                    pulumi.String("{fpgaNic-Name}"),
    									Primary:                 pulumi.Bool(true),
    									PrivateIPAddressVersion: pulumi.String(compute.IPVersionIPv4),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{fpgaNic-Name}"),
    							Primary: pulumi.Bool(false),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
            }, {
            "enableAcceleratedNetworking" = false
            "enableFpga"                  = true
            "enableIPForwarding"          = false
            "ipConfigurations" = [{
              "name"                    = "{fpgaNic-Name}"
              "primary"                 = true
              "privateIPAddressVersion" = "IPv4"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"
              }
            }]
            "name"    = "{fpgaNic-Name}"
            "primary" = false
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(                    
                            VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                                .enableIPForwarding(true)
                                .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                    .name("{vmss-name}")
                                    .subnet(ApiEntityReferenceArgs.builder()
                                        .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                        .build())
                                    .build())
                                .name("{vmss-name}")
                                .primary(true)
                                .build(),
                            VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                                .enableAcceleratedNetworking(false)
                                .enableFpga(true)
                                .enableIPForwarding(false)
                                .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                    .name("{fpgaNic-Name}")
                                    .primary(true)
                                    .privateIPAddressVersion("IPv4")
                                    .subnet(ApiEntityReferenceArgs.builder()
                                        .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}")
                                        .build())
                                    .build())
                                .name("{fpgaNic-Name}")
                                .primary(false)
                                .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [
                    {
                        enableIPForwarding: true,
                        ipConfigurations: [{
                            name: "{vmss-name}",
                            subnet: {
                                id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                            },
                        }],
                        name: "{vmss-name}",
                        primary: true,
                    },
                    {
                        enableAcceleratedNetworking: false,
                        enableFpga: true,
                        enableIPForwarding: false,
                        ipConfigurations: [{
                            name: "{fpgaNic-Name}",
                            primary: true,
                            privateIPAddressVersion: azure_native.compute.IPVersion.IPv4,
                            subnet: {
                                id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}",
                            },
                        }],
                        name: "{fpgaNic-Name}",
                        primary: false,
                    },
                ],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [
                    {
                        "enable_ip_forwarding": True,
                        "ip_configurations": [{
                            "name": "{vmss-name}",
                            "subnet": {
                                "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                            },
                        }],
                        "name": "{vmss-name}",
                        "primary": True,
                    },
                    {
                        "enable_accelerated_networking": False,
                        "enable_fpga": True,
                        "enable_ip_forwarding": False,
                        "ip_configurations": [{
                            "name": "{fpgaNic-Name}",
                            "primary": True,
                            "private_ip_address_version": azure_native.compute.IPVersion.I_PV4,
                            "subnet": {
                                "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}",
                            },
                        }],
                        "name": "{fpgaNic-Name}",
                        "primary": False,
                    },
                ],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
                - enableAcceleratedNetworking: false
                  enableFpga: true
                  enableIPForwarding: false
                  ipConfigurations:
                    - name: '{fpgaNic-Name}'
                      primary: true
                      privateIPAddressVersion: IPv4
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}
                  name: '{fpgaNic-Name}'
                  primary: false
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Host Encryption using encryptionAtHost property.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            Plan = new AzureNative.Compute.Inputs.PlanArgs
            {
                Name = "windows2016",
                Product = "windows-data-science-vm",
                Publisher = "microsoft-ads",
            },
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_DS1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                SecurityProfile = new AzureNative.Compute.Inputs.SecurityProfileArgs
                {
                    EncryptionAtHost = true,
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "windows-data-science-vm",
                        Publisher = "microsoft-ads",
                        Sku = "windows2016",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadOnly,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:      pulumi.String("westus"),
    			Overprovision: pulumi.Bool(true),
    			Plan: &compute.PlanArgs{
    				Name:      pulumi.String("windows2016"),
    				Product:   pulumi.String("windows-data-science-vm"),
    				Publisher: pulumi.String("microsoft-ads"),
    			},
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_DS1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				SecurityProfile: &compute.SecurityProfileArgs{
    					EncryptionAtHost: pulumi.Bool(true),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("windows-data-science-vm"),
    						Publisher: pulumi.String("microsoft-ads"),
    						Sku:       pulumi.String("windows2016"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadOnly,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location      = "westus"
      overprovision = true
      plan = {
        name      = "windows2016"
        product   = "windows-data-science-vm"
        publisher = "microsoft-ads"
      }
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_DS1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        security_profile = {
          encryption_at_host = true
        }
        storage_profile = {
          image_reference = {
            offer     = "windows-data-science-vm"
            publisher = "microsoft-ads"
            sku       = "windows2016"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadOnly"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.PlanArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.SecurityProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .plan(PlanArgs.builder()
                    .name("windows2016")
                    .product("windows-data-science-vm")
                    .publisher("microsoft-ads")
                    .build())
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_DS1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .securityProfile(SecurityProfileArgs.builder()
                        .encryptionAtHost(true)
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("windows-data-science-vm")
                            .publisher("microsoft-ads")
                            .sku("windows2016")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadOnly")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        plan: {
            name: "windows2016",
            product: "windows-data-science-vm",
            publisher: "microsoft-ads",
        },
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_DS1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            securityProfile: {
                encryptionAtHost: true,
            },
            storageProfile: {
                imageReference: {
                    offer: "windows-data-science-vm",
                    publisher: "microsoft-ads",
                    sku: "windows2016",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadOnly,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        plan={
            "name": "windows2016",
            "product": "windows-data-science-vm",
            "publisher": "microsoft-ads",
        },
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_DS1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "security_profile": {
                "encryption_at_host": True,
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "windows-data-science-vm",
                    "publisher": "microsoft-ads",
                    "sku": "windows2016",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          plan:
            name: windows2016
            product: windows-data-science-vm
            publisher: microsoft-ads
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_DS1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            securityProfile:
              encryptionAtHost: true
            storageProfile:
              imageReference:
                offer: windows-data-science-vm
                publisher: microsoft-ads
                sku: windows2016
                version: latest
              osDisk:
                caching: ReadOnly
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Network Interfaces with public ip address dns settings.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            AuxiliaryMode = AzureNative.Compute.NetworkInterfaceAuxiliaryMode.AcceleratedConnections,
                            AuxiliarySku = AzureNative.Compute.NetworkInterfaceAuxiliarySku.A1,
                            DisableTcpStateTracking = true,
                            EnableAcceleratedNetworking = true,
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{nicConfig1-name}",
                            Primary = true,
                        },
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            DisableTcpStateTracking = false,
                            EnableAcceleratedNetworking = false,
                            EnableIPForwarding = false,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{nicConfig2-name}",
                                    Primary = true,
                                    PrivateIPAddressVersion = AzureNative.Compute.IPVersion.IPv4,
                                    PublicIPAddressConfiguration = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationArgs
                                    {
                                        DnsSettings = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs
                                        {
                                            DomainNameLabel = "vmsstestlabel01",
                                            DomainNameLabelScope = AzureNative.Compute.DomainNameLabelScopeTypes.NoReuse,
                                        },
                                        IdleTimeoutInMinutes = 10,
                                        Name = "publicip",
                                    },
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}",
                                    },
                                },
                            },
                            Name = "{nicConfig2-name}",
                            Primary = false,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							AuxiliaryMode:               pulumi.String(compute.NetworkInterfaceAuxiliaryModeAcceleratedConnections),
    							AuxiliarySku:                pulumi.String(compute.NetworkInterfaceAuxiliarySkuA1),
    							DisableTcpStateTracking:     pulumi.Bool(true),
    							EnableAcceleratedNetworking: pulumi.Bool(true),
    							EnableIPForwarding:          pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{nicConfig1-name}"),
    							Primary: pulumi.Bool(true),
    						},
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							DisableTcpStateTracking:     pulumi.Bool(false),
    							EnableAcceleratedNetworking: pulumi.Bool(false),
    							EnableIPForwarding:          pulumi.Bool(false),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name:                    pulumi.String("{nicConfig2-name}"),
    									Primary:                 pulumi.Bool(true),
    									PrivateIPAddressVersion: pulumi.String(compute.IPVersionIPv4),
    									PublicIPAddressConfiguration: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationArgs{
    										DnsSettings: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs{
    											DomainNameLabel:      pulumi.String("vmsstestlabel01"),
    											DomainNameLabelScope: pulumi.String(compute.DomainNameLabelScopeTypesNoReuse),
    										},
    										IdleTimeoutInMinutes: pulumi.Int(10),
    										Name:                 pulumi.String("publicip"),
    									},
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{nicConfig2-name}"),
    							Primary: pulumi.Bool(false),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "auxiliaryMode"               = "AcceleratedConnections"
            "auxiliarySku"                = "A1"
            "disableTcpStateTracking"     = true
            "enableAcceleratedNetworking" = true
            "enableIPForwarding"          = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{nicConfig1-name}"
            "primary" = true
            }, {
            "disableTcpStateTracking"     = false
            "enableAcceleratedNetworking" = false
            "enableIPForwarding"          = false
            "ipConfigurations" = [{
              "name"                    = "{nicConfig2-name}"
              "primary"                 = true
              "privateIPAddressVersion" = "IPv4"
              "publicIPAddressConfiguration" = {
                "dnsSettings" = {
                  "domainNameLabel"      = "vmsstestlabel01"
                  "domainNameLabelScope" = "NoReuse"
                }
                "idleTimeoutInMinutes" = 10
                "name"                 = "publicip"
              }
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}"
              }
            }]
            "name"    = "{nicConfig2-name}"
            "primary" = false
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(                    
                            VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                                .auxiliaryMode("AcceleratedConnections")
                                .auxiliarySku("A1")
                                .disableTcpStateTracking(true)
                                .enableAcceleratedNetworking(true)
                                .enableIPForwarding(true)
                                .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                    .name("{vmss-name}")
                                    .subnet(ApiEntityReferenceArgs.builder()
                                        .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                        .build())
                                    .build())
                                .name("{nicConfig1-name}")
                                .primary(true)
                                .build(),
                            VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                                .disableTcpStateTracking(false)
                                .enableAcceleratedNetworking(false)
                                .enableIPForwarding(false)
                                .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                    .name("{nicConfig2-name}")
                                    .primary(true)
                                    .privateIPAddressVersion("IPv4")
                                    .publicIPAddressConfiguration(VirtualMachineScaleSetPublicIPAddressConfigurationArgs.builder()
                                        .dnsSettings(VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs.builder()
                                            .domainNameLabel("vmsstestlabel01")
                                            .domainNameLabelScope("NoReuse")
                                            .build())
                                        .idleTimeoutInMinutes(10)
                                        .name("publicip")
                                        .build())
                                    .subnet(ApiEntityReferenceArgs.builder()
                                        .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}")
                                        .build())
                                    .build())
                                .name("{nicConfig2-name}")
                                .primary(false)
                                .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [
                    {
                        auxiliaryMode: azure_native.compute.NetworkInterfaceAuxiliaryMode.AcceleratedConnections,
                        auxiliarySku: azure_native.compute.NetworkInterfaceAuxiliarySku.A1,
                        disableTcpStateTracking: true,
                        enableAcceleratedNetworking: true,
                        enableIPForwarding: true,
                        ipConfigurations: [{
                            name: "{vmss-name}",
                            subnet: {
                                id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                            },
                        }],
                        name: "{nicConfig1-name}",
                        primary: true,
                    },
                    {
                        disableTcpStateTracking: false,
                        enableAcceleratedNetworking: false,
                        enableIPForwarding: false,
                        ipConfigurations: [{
                            name: "{nicConfig2-name}",
                            primary: true,
                            privateIPAddressVersion: azure_native.compute.IPVersion.IPv4,
                            publicIPAddressConfiguration: {
                                dnsSettings: {
                                    domainNameLabel: "vmsstestlabel01",
                                    domainNameLabelScope: azure_native.compute.DomainNameLabelScopeTypes.NoReuse,
                                },
                                idleTimeoutInMinutes: 10,
                                name: "publicip",
                            },
                            subnet: {
                                id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}",
                            },
                        }],
                        name: "{nicConfig2-name}",
                        primary: false,
                    },
                ],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [
                    {
                        "auxiliary_mode": azure_native.compute.NetworkInterfaceAuxiliaryMode.ACCELERATED_CONNECTIONS,
                        "auxiliary_sku": azure_native.compute.NetworkInterfaceAuxiliarySku.A1,
                        "disable_tcp_state_tracking": True,
                        "enable_accelerated_networking": True,
                        "enable_ip_forwarding": True,
                        "ip_configurations": [{
                            "name": "{vmss-name}",
                            "subnet": {
                                "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                            },
                        }],
                        "name": "{nicConfig1-name}",
                        "primary": True,
                    },
                    {
                        "disable_tcp_state_tracking": False,
                        "enable_accelerated_networking": False,
                        "enable_ip_forwarding": False,
                        "ip_configurations": [{
                            "name": "{nicConfig2-name}",
                            "primary": True,
                            "private_ip_address_version": azure_native.compute.IPVersion.I_PV4,
                            "public_ip_address_configuration": {
                                "dns_settings": {
                                    "domain_name_label": "vmsstestlabel01",
                                    "domain_name_label_scope": azure_native.compute.DomainNameLabelScopeTypes.NO_REUSE,
                                },
                                "idle_timeout_in_minutes": 10,
                                "name": "publicip",
                            },
                            "subnet": {
                                "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}",
                            },
                        }],
                        "name": "{nicConfig2-name}",
                        "primary": False,
                    },
                ],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - auxiliaryMode: AcceleratedConnections
                  auxiliarySku: A1
                  disableTcpStateTracking: true
                  enableAcceleratedNetworking: true
                  enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{nicConfig1-name}'
                  primary: true
                - disableTcpStateTracking: false
                  enableAcceleratedNetworking: false
                  enableIPForwarding: false
                  ipConfigurations:
                    - name: '{nicConfig2-name}'
                      primary: true
                      privateIPAddressVersion: IPv4
                      publicIPAddressConfiguration:
                        dnsSettings:
                          domainNameLabel: vmsstestlabel01
                          domainNameLabelScope: NoReuse
                        idleTimeoutInMinutes: 10
                        name: publicip
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name2}
                  name: '{nicConfig2-name}'
                  primary: false
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with OS image scheduled events enabled.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                ScheduledEventsProfile = new AzureNative.Compute.Inputs.ScheduledEventsProfileArgs
                {
                    OsImageNotificationProfile = new AzureNative.Compute.Inputs.OSImageNotificationProfileArgs
                    {
                        Enable = true,
                        NotBeforeTimeout = "PT15M",
                    },
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				ScheduledEventsProfile: &compute.ScheduledEventsProfileArgs{
    					OsImageNotificationProfile: &compute.OSImageNotificationProfileArgs{
    						Enable:           pulumi.Bool(true),
    						NotBeforeTimeout: pulumi.String("PT15M"),
    					},
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        scheduled_events_profile = {
          os_image_notification_profile = {
            enable             = true
            not_before_timeout = "PT15M"
          }
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ScheduledEventsProfileArgs;
    import com.pulumi.azurenative.compute.inputs.OSImageNotificationProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .scheduledEventsProfile(ScheduledEventsProfileArgs.builder()
                        .osImageNotificationProfile(OSImageNotificationProfileArgs.builder()
                            .enable(true)
                            .notBeforeTimeout("PT15M")
                            .build())
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            scheduledEventsProfile: {
                osImageNotificationProfile: {
                    enable: true,
                    notBeforeTimeout: "PT15M",
                },
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "scheduled_events_profile": {
                "os_image_notification_profile": {
                    "enable": True,
                    "not_before_timeout": "PT15M",
                },
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            scheduledEventsProfile:
              osImageNotificationProfile:
                enable: true
                notBeforeTimeout: PT15M
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with ProxyAgent Settings of enabled and mode.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D2s_v3",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                SecurityProfile = new AzureNative.Compute.Inputs.SecurityProfileArgs
                {
                    ProxyAgentSettings = new AzureNative.Compute.Inputs.ProxyAgentSettingsArgs
                    {
                        Enabled = true,
                    },
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2019-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadOnly,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.StandardSSD_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D2s_v3"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				SecurityProfile: &compute.SecurityProfileArgs{
    					ProxyAgentSettings: &compute.ProxyAgentSettingsArgs{
    						Enabled: pulumi.Bool(true),
    					},
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2019-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadOnly,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_StandardSSD_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D2s_v3"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        security_profile = {
          proxy_agent_settings = {
            enabled = true
          }
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2019-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadOnly"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "StandardSSD_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.SecurityProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ProxyAgentSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D2s_v3")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .securityProfile(SecurityProfileArgs.builder()
                        .proxyAgentSettings(ProxyAgentSettingsArgs.builder()
                            .enabled(true)
                            .build())
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2019-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadOnly")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("StandardSSD_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D2s_v3",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            securityProfile: {
                proxyAgentSettings: {
                    enabled: true,
                },
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2019-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadOnly,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.StandardSSD_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D2s_v3",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "security_profile": {
                "proxy_agent_settings": {
                    "enabled": True,
                },
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2019-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_SS_D_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D2s_v3
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            securityProfile:
              proxyAgentSettings:
                enabled: true
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2019-Datacenter
                version: latest
              osDisk:
                caching: ReadOnly
                createOption: FromImage
                managedDisk:
                  storageAccountType: StandardSSD_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Resilient VM Creation enabled

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = false,
            ResiliencyPolicy = new AzureNative.Compute.Inputs.ResiliencyPolicyArgs
            {
                ResilientVMCreationPolicy = new AzureNative.Compute.Inputs.ResilientVMCreationPolicyArgs
                {
                    Enabled = true,
                },
            },
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:      pulumi.String("westus"),
    			Overprovision: pulumi.Bool(false),
    			ResiliencyPolicy: &compute.ResiliencyPolicyArgs{
    				ResilientVMCreationPolicy: &compute.ResilientVMCreationPolicyArgs{
    					Enabled: pulumi.Bool(true),
    				},
    			},
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location      = "westus"
      overprovision = false
      resiliency_policy = {
        resilient_vm_creation_policy = {
          enabled = true
        }
      }
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.ResiliencyPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.ResilientVMCreationPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(false)
                .resiliencyPolicy(ResiliencyPolicyArgs.builder()
                    .resilientVMCreationPolicy(ResilientVMCreationPolicyArgs.builder()
                        .enabled(true)
                        .build())
                    .build())
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: false,
        resiliencyPolicy: {
            resilientVMCreationPolicy: {
                enabled: true,
            },
        },
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=False,
        resiliency_policy={
            "resilient_vm_creation_policy": {
                "enabled": True,
            },
        },
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: false
          resiliencyPolicy:
            resilientVMCreationPolicy:
              enabled: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Resilient VM Deletion enabled

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = false,
            ResiliencyPolicy = new AzureNative.Compute.Inputs.ResiliencyPolicyArgs
            {
                ResilientVMDeletionPolicy = new AzureNative.Compute.Inputs.ResilientVMDeletionPolicyArgs
                {
                    Enabled = true,
                },
            },
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:      pulumi.String("westus"),
    			Overprovision: pulumi.Bool(false),
    			ResiliencyPolicy: &compute.ResiliencyPolicyArgs{
    				ResilientVMDeletionPolicy: &compute.ResilientVMDeletionPolicyArgs{
    					Enabled: pulumi.Bool(true),
    				},
    			},
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location      = "westus"
      overprovision = false
      resiliency_policy = {
        resilient_vm_deletion_policy = {
          enabled = true
        }
      }
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.ResiliencyPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.ResilientVMDeletionPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(false)
                .resiliencyPolicy(ResiliencyPolicyArgs.builder()
                    .resilientVMDeletionPolicy(ResilientVMDeletionPolicyArgs.builder()
                        .enabled(true)
                        .build())
                    .build())
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: false,
        resiliencyPolicy: {
            resilientVMDeletionPolicy: {
                enabled: true,
            },
        },
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=False,
        resiliency_policy={
            "resilient_vm_deletion_policy": {
                "enabled": True,
            },
        },
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: false
          resiliencyPolicy:
            resilientVMDeletionPolicy:
              enabled: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Security Posture Reference

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "eastus2euap",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_A1",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                AutomaticOSUpgradePolicy = new AzureNative.Compute.Inputs.AutomaticOSUpgradePolicyArgs
                {
                    EnableAutomaticOSUpgrade = true,
                },
                Mode = AzureNative.Compute.UpgradeMode.Automatic,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                SecurityPostureReference = new AzureNative.Compute.Inputs.SecurityPostureReferenceArgs
                {
                    Id = "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2022-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        Name = "osDisk",
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("eastus2euap"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_A1"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				AutomaticOSUpgradePolicy: &compute.AutomaticOSUpgradePolicyArgs{
    					EnableAutomaticOSUpgrade: pulumi.Bool(true),
    				},
    				Mode: compute.UpgradeModeAutomatic,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				SecurityPostureReference: &compute.SecurityPostureReferenceArgs{
    					Id: pulumi.String("/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2022-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						Name:         pulumi.String("osDisk"),
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "eastus2euap"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_A1"
        tier     = "Standard"
      }
      upgrade_policy = {
        automatic_os_upgrade_policy = {
          enable_automatic_os_upgrade = true
        }
        mode = "Automatic"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        security_posture_reference = {
          id = "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2022-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            name          = "osDisk"
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.AutomaticOSUpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.SecurityPostureReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("eastus2euap")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_A1")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .automaticOSUpgradePolicy(AutomaticOSUpgradePolicyArgs.builder()
                        .enableAutomaticOSUpgrade(true)
                        .build())
                    .mode("Automatic")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .securityPostureReference(SecurityPostureReferenceArgs.builder()
                        .id("/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2022-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .name("osDisk")
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "eastus2euap",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_A1",
            tier: "Standard",
        },
        upgradePolicy: {
            automaticOSUpgradePolicy: {
                enableAutomaticOSUpgrade: true,
            },
            mode: azure_native.compute.UpgradeMode.Automatic,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            securityPostureReference: {
                id: "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2022-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    name: "osDisk",
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="eastus2euap",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_A1",
            "tier": "Standard",
        },
        upgrade_policy={
            "automatic_os_upgrade_policy": {
                "enable_automatic_os_upgrade": True,
            },
            "mode": azure_native.compute.UpgradeMode.AUTOMATIC,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "security_posture_reference": {
                "id": "/CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2022-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "name": "osDisk",
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: eastus2euap
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_A1
            tier: Standard
          upgradePolicy:
            automaticOSUpgradePolicy:
              enableAutomaticOSUpgrade: true
            mode: Automatic
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            securityPostureReference:
              id: /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|{major.*}|latest
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2022-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                name: osDisk
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with SecurityType as ConfidentialVM

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_DC2as_v5",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                SecurityProfile = new AzureNative.Compute.Inputs.SecurityProfileArgs
                {
                    SecurityType = AzureNative.Compute.SecurityTypes.ConfidentialVM,
                    UefiSettings = new AzureNative.Compute.Inputs.UefiSettingsArgs
                    {
                        SecureBootEnabled = true,
                        VTpmEnabled = true,
                    },
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "2019-datacenter-cvm",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "windows-cvm",
                        Version = "17763.2183.2109130127",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadOnly,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            SecurityProfile = new AzureNative.Compute.Inputs.VMDiskSecurityProfileArgs
                            {
                                SecurityEncryptionType = AzureNative.Compute.SecurityEncryptionTypes.VMGuestStateOnly,
                            },
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.StandardSSD_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_DC2as_v5"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				SecurityProfile: &compute.SecurityProfileArgs{
    					SecurityType: pulumi.String(compute.SecurityTypesConfidentialVM),
    					UefiSettings: &compute.UefiSettingsArgs{
    						SecureBootEnabled: pulumi.Bool(true),
    						VTpmEnabled:       pulumi.Bool(true),
    					},
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("2019-datacenter-cvm"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("windows-cvm"),
    						Version:   pulumi.String("17763.2183.2109130127"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadOnly,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							SecurityProfile: &compute.VMDiskSecurityProfileArgs{
    								SecurityEncryptionType: pulumi.String(compute.SecurityEncryptionTypesVMGuestStateOnly),
    							},
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_StandardSSD_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_DC2as_v5"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        security_profile = {
          security_type = "ConfidentialVM"
          uefi_settings = {
            secure_boot_enabled = true
            v_tpm_enabled       = true
          }
        }
        storage_profile = {
          image_reference = {
            offer     = "2019-datacenter-cvm"
            publisher = "MicrosoftWindowsServer"
            sku       = "windows-cvm"
            version   = "17763.2183.2109130127"
          }
          os_disk = {
            caching       = "ReadOnly"
            create_option = "FromImage"
            managed_disk = {
              security_profile = {
                security_encryption_type = "VMGuestStateOnly"
              }
              storage_account_type = "StandardSSD_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.SecurityProfileArgs;
    import com.pulumi.azurenative.compute.inputs.UefiSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import com.pulumi.azurenative.compute.inputs.VMDiskSecurityProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_DC2as_v5")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .securityProfile(SecurityProfileArgs.builder()
                        .securityType("ConfidentialVM")
                        .uefiSettings(UefiSettingsArgs.builder()
                            .secureBootEnabled(true)
                            .vTpmEnabled(true)
                            .build())
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("2019-datacenter-cvm")
                            .publisher("MicrosoftWindowsServer")
                            .sku("windows-cvm")
                            .version("17763.2183.2109130127")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadOnly")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .securityProfile(VMDiskSecurityProfileArgs.builder()
                                    .securityEncryptionType("VMGuestStateOnly")
                                    .build())
                                .storageAccountType("StandardSSD_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_DC2as_v5",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            securityProfile: {
                securityType: azure_native.compute.SecurityTypes.ConfidentialVM,
                uefiSettings: {
                    secureBootEnabled: true,
                    vTpmEnabled: true,
                },
            },
            storageProfile: {
                imageReference: {
                    offer: "2019-datacenter-cvm",
                    publisher: "MicrosoftWindowsServer",
                    sku: "windows-cvm",
                    version: "17763.2183.2109130127",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadOnly,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        securityProfile: {
                            securityEncryptionType: azure_native.compute.SecurityEncryptionTypes.VMGuestStateOnly,
                        },
                        storageAccountType: azure_native.compute.StorageAccountTypes.StandardSSD_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_DC2as_v5",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "security_profile": {
                "security_type": azure_native.compute.SecurityTypes.CONFIDENTIAL_VM,
                "uefi_settings": {
                    "secure_boot_enabled": True,
                    "v_tpm_enabled": True,
                },
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "2019-datacenter-cvm",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "windows-cvm",
                    "version": "17763.2183.2109130127",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "security_profile": {
                            "security_encryption_type": azure_native.compute.SecurityEncryptionTypes.VM_GUEST_STATE_ONLY,
                        },
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_SS_D_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_DC2as_v5
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            securityProfile:
              securityType: ConfidentialVM
              uefiSettings:
                secureBootEnabled: true
                vTpmEnabled: true
            storageProfile:
              imageReference:
                offer: 2019-datacenter-cvm
                publisher: MicrosoftWindowsServer
                sku: windows-cvm
                version: 17763.2183.2109130127
              osDisk:
                caching: ReadOnly
                createOption: FromImage
                managedDisk:
                  securityProfile:
                    securityEncryptionType: VMGuestStateOnly
                  storageAccountType: StandardSSD_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with SecurityType as ConfidentialVM and NonPersistedTPM securityEncryptionType

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_DC2es_v5",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                SecurityProfile = new AzureNative.Compute.Inputs.SecurityProfileArgs
                {
                    SecurityType = AzureNative.Compute.SecurityTypes.ConfidentialVM,
                    UefiSettings = new AzureNative.Compute.Inputs.UefiSettingsArgs
                    {
                        SecureBootEnabled = false,
                        VTpmEnabled = true,
                    },
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "2022-datacenter-cvm",
                        Publisher = "UbuntuServer",
                        Sku = "linux-cvm",
                        Version = "17763.2183.2109130127",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadOnly,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            SecurityProfile = new AzureNative.Compute.Inputs.VMDiskSecurityProfileArgs
                            {
                                SecurityEncryptionType = AzureNative.Compute.SecurityEncryptionTypes.NonPersistedTPM,
                            },
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.StandardSSD_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_DC2es_v5"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				SecurityProfile: &compute.SecurityProfileArgs{
    					SecurityType: pulumi.String(compute.SecurityTypesConfidentialVM),
    					UefiSettings: &compute.UefiSettingsArgs{
    						SecureBootEnabled: pulumi.Bool(false),
    						VTpmEnabled:       pulumi.Bool(true),
    					},
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("2022-datacenter-cvm"),
    						Publisher: pulumi.String("UbuntuServer"),
    						Sku:       pulumi.String("linux-cvm"),
    						Version:   pulumi.String("17763.2183.2109130127"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadOnly,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							SecurityProfile: &compute.VMDiskSecurityProfileArgs{
    								SecurityEncryptionType: pulumi.String(compute.SecurityEncryptionTypesNonPersistedTPM),
    							},
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_StandardSSD_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_DC2es_v5"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        security_profile = {
          security_type = "ConfidentialVM"
          uefi_settings = {
            secure_boot_enabled = false
            v_tpm_enabled       = true
          }
        }
        storage_profile = {
          image_reference = {
            offer     = "2022-datacenter-cvm"
            publisher = "UbuntuServer"
            sku       = "linux-cvm"
            version   = "17763.2183.2109130127"
          }
          os_disk = {
            caching       = "ReadOnly"
            create_option = "FromImage"
            managed_disk = {
              security_profile = {
                security_encryption_type = "NonPersistedTPM"
              }
              storage_account_type = "StandardSSD_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.SecurityProfileArgs;
    import com.pulumi.azurenative.compute.inputs.UefiSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import com.pulumi.azurenative.compute.inputs.VMDiskSecurityProfileArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_DC2es_v5")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .securityProfile(SecurityProfileArgs.builder()
                        .securityType("ConfidentialVM")
                        .uefiSettings(UefiSettingsArgs.builder()
                            .secureBootEnabled(false)
                            .vTpmEnabled(true)
                            .build())
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("2022-datacenter-cvm")
                            .publisher("UbuntuServer")
                            .sku("linux-cvm")
                            .version("17763.2183.2109130127")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadOnly")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .securityProfile(VMDiskSecurityProfileArgs.builder()
                                    .securityEncryptionType("NonPersistedTPM")
                                    .build())
                                .storageAccountType("StandardSSD_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_DC2es_v5",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            securityProfile: {
                securityType: azure_native.compute.SecurityTypes.ConfidentialVM,
                uefiSettings: {
                    secureBootEnabled: false,
                    vTpmEnabled: true,
                },
            },
            storageProfile: {
                imageReference: {
                    offer: "2022-datacenter-cvm",
                    publisher: "UbuntuServer",
                    sku: "linux-cvm",
                    version: "17763.2183.2109130127",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadOnly,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        securityProfile: {
                            securityEncryptionType: azure_native.compute.SecurityEncryptionTypes.NonPersistedTPM,
                        },
                        storageAccountType: azure_native.compute.StorageAccountTypes.StandardSSD_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_DC2es_v5",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "security_profile": {
                "security_type": azure_native.compute.SecurityTypes.CONFIDENTIAL_VM,
                "uefi_settings": {
                    "secure_boot_enabled": False,
                    "v_tpm_enabled": True,
                },
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "2022-datacenter-cvm",
                    "publisher": "UbuntuServer",
                    "sku": "linux-cvm",
                    "version": "17763.2183.2109130127",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "security_profile": {
                            "security_encryption_type": azure_native.compute.SecurityEncryptionTypes.NON_PERSISTED_TPM,
                        },
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_SS_D_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_DC2es_v5
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            securityProfile:
              securityType: ConfidentialVM
              uefiSettings:
                secureBootEnabled: false
                vTpmEnabled: true
            storageProfile:
              imageReference:
                offer: 2022-datacenter-cvm
                publisher: UbuntuServer
                sku: linux-cvm
                version: 17763.2183.2109130127
              osDisk:
                caching: ReadOnly
                createOption: FromImage
                managedDisk:
                  securityProfile:
                    securityEncryptionType: NonPersistedTPM
                  storageAccountType: StandardSSD_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Service Artifact Reference

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "eastus2euap",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_A1",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                AutomaticOSUpgradePolicy = new AzureNative.Compute.Inputs.AutomaticOSUpgradePolicyArgs
                {
                    EnableAutomaticOSUpgrade = true,
                },
                Mode = AzureNative.Compute.UpgradeMode.Automatic,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                ServiceArtifactReference = new AzureNative.Compute.Inputs.ServiceArtifactReferenceArgs
                {
                    Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2022-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        Name = "osDisk",
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("eastus2euap"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_A1"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				AutomaticOSUpgradePolicy: &compute.AutomaticOSUpgradePolicyArgs{
    					EnableAutomaticOSUpgrade: pulumi.Bool(true),
    				},
    				Mode: compute.UpgradeModeAutomatic,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				ServiceArtifactReference: &compute.ServiceArtifactReferenceArgs{
    					Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2022-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						Name:         pulumi.String("osDisk"),
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "eastus2euap"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_A1"
        tier     = "Standard"
      }
      upgrade_policy = {
        automatic_os_upgrade_policy = {
          enable_automatic_os_upgrade = true
        }
        mode = "Automatic"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        service_artifact_reference = {
          id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2022-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            name          = "osDisk"
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.AutomaticOSUpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ServiceArtifactReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("eastus2euap")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_A1")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .automaticOSUpgradePolicy(AutomaticOSUpgradePolicyArgs.builder()
                        .enableAutomaticOSUpgrade(true)
                        .build())
                    .mode("Automatic")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .serviceArtifactReference(ServiceArtifactReferenceArgs.builder()
                        .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2022-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .name("osDisk")
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "eastus2euap",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_A1",
            tier: "Standard",
        },
        upgradePolicy: {
            automaticOSUpgradePolicy: {
                enableAutomaticOSUpgrade: true,
            },
            mode: azure_native.compute.UpgradeMode.Automatic,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            serviceArtifactReference: {
                id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2022-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    name: "osDisk",
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="eastus2euap",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_A1",
            "tier": "Standard",
        },
        upgrade_policy={
            "automatic_os_upgrade_policy": {
                "enable_automatic_os_upgrade": True,
            },
            "mode": azure_native.compute.UpgradeMode.AUTOMATIC,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "service_artifact_reference": {
                "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2022-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "name": "osDisk",
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: eastus2euap
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_A1
            tier: Standard
          upgradePolicy:
            automaticOSUpgradePolicy:
              enableAutomaticOSUpgrade: true
            mode: Automatic
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            serviceArtifactReference:
              id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/serviceArtifacts/serviceArtifactName/vmArtifactsProfiles/vmArtifactsProfilesName
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2022-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                name: osDisk
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with Uefi Settings of secureBoot and vTPM.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D2s_v3",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                SecurityProfile = new AzureNative.Compute.Inputs.SecurityProfileArgs
                {
                    SecurityType = AzureNative.Compute.SecurityTypes.TrustedLaunch,
                    UefiSettings = new AzureNative.Compute.Inputs.UefiSettingsArgs
                    {
                        SecureBootEnabled = true,
                        VTpmEnabled = true,
                    },
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "windowsserver-gen2preview-preview",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "windows10-tvm",
                        Version = "18363.592.2001092016",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadOnly,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.StandardSSD_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D2s_v3"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				SecurityProfile: &compute.SecurityProfileArgs{
    					SecurityType: pulumi.String(compute.SecurityTypesTrustedLaunch),
    					UefiSettings: &compute.UefiSettingsArgs{
    						SecureBootEnabled: pulumi.Bool(true),
    						VTpmEnabled:       pulumi.Bool(true),
    					},
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("windowsserver-gen2preview-preview"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("windows10-tvm"),
    						Version:   pulumi.String("18363.592.2001092016"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadOnly,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_StandardSSD_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D2s_v3"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        security_profile = {
          security_type = "TrustedLaunch"
          uefi_settings = {
            secure_boot_enabled = true
            v_tpm_enabled       = true
          }
        }
        storage_profile = {
          image_reference = {
            offer     = "windowsserver-gen2preview-preview"
            publisher = "MicrosoftWindowsServer"
            sku       = "windows10-tvm"
            version   = "18363.592.2001092016"
          }
          os_disk = {
            caching       = "ReadOnly"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "StandardSSD_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.SecurityProfileArgs;
    import com.pulumi.azurenative.compute.inputs.UefiSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D2s_v3")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .securityProfile(SecurityProfileArgs.builder()
                        .securityType("TrustedLaunch")
                        .uefiSettings(UefiSettingsArgs.builder()
                            .secureBootEnabled(true)
                            .vTpmEnabled(true)
                            .build())
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("windowsserver-gen2preview-preview")
                            .publisher("MicrosoftWindowsServer")
                            .sku("windows10-tvm")
                            .version("18363.592.2001092016")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadOnly")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("StandardSSD_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D2s_v3",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            securityProfile: {
                securityType: azure_native.compute.SecurityTypes.TrustedLaunch,
                uefiSettings: {
                    secureBootEnabled: true,
                    vTpmEnabled: true,
                },
            },
            storageProfile: {
                imageReference: {
                    offer: "windowsserver-gen2preview-preview",
                    publisher: "MicrosoftWindowsServer",
                    sku: "windows10-tvm",
                    version: "18363.592.2001092016",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadOnly,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.StandardSSD_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D2s_v3",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "security_profile": {
                "security_type": azure_native.compute.SecurityTypes.TRUSTED_LAUNCH,
                "uefi_settings": {
                    "secure_boot_enabled": True,
                    "v_tpm_enabled": True,
                },
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "windowsserver-gen2preview-preview",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "windows10-tvm",
                    "version": "18363.592.2001092016",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_SS_D_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D2s_v3
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            securityProfile:
              securityType: TrustedLaunch
              uefiSettings:
                secureBootEnabled: true
                vTpmEnabled: true
            storageProfile:
              imageReference:
                offer: windowsserver-gen2preview-preview
                publisher: MicrosoftWindowsServer
                sku: windows10-tvm
                version: 18363.592.2001092016
              osDisk:
                caching: ReadOnly
                createOption: FromImage
                managedDisk:
                  storageAccountType: StandardSSD_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with a marketplace image plan.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            Plan = new AzureNative.Compute.Inputs.PlanArgs
            {
                Name = "windows2016",
                Product = "windows-data-science-vm",
                Publisher = "microsoft-ads",
            },
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "windows-data-science-vm",
                        Publisher = "microsoft-ads",
                        Sku = "windows2016",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:      pulumi.String("westus"),
    			Overprovision: pulumi.Bool(true),
    			Plan: &compute.PlanArgs{
    				Name:      pulumi.String("windows2016"),
    				Product:   pulumi.String("windows-data-science-vm"),
    				Publisher: pulumi.String("microsoft-ads"),
    			},
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("windows-data-science-vm"),
    						Publisher: pulumi.String("microsoft-ads"),
    						Sku:       pulumi.String("windows2016"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location      = "westus"
      overprovision = true
      plan = {
        name      = "windows2016"
        product   = "windows-data-science-vm"
        publisher = "microsoft-ads"
      }
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "windows-data-science-vm"
            publisher = "microsoft-ads"
            sku       = "windows2016"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.PlanArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .plan(PlanArgs.builder()
                    .name("windows2016")
                    .product("windows-data-science-vm")
                    .publisher("microsoft-ads")
                    .build())
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("windows-data-science-vm")
                            .publisher("microsoft-ads")
                            .sku("windows2016")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        plan: {
            name: "windows2016",
            product: "windows-data-science-vm",
            publisher: "microsoft-ads",
        },
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "windows-data-science-vm",
                    publisher: "microsoft-ads",
                    sku: "windows2016",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        plan={
            "name": "windows2016",
            "product": "windows-data-science-vm",
            "publisher": "microsoft-ads",
        },
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "windows-data-science-vm",
                    "publisher": "microsoft-ads",
                    "sku": "windows2016",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          plan:
            name: windows2016
            product: windows-data-science-vm
            publisher: microsoft-ads
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: windows-data-science-vm
                publisher: microsoft-ads
                sku: windows2016
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with an azure application gateway.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    ApplicationGatewayBackendAddressPools = new[]
                                    {
                                        new AzureNative.Compute.Inputs.SubResourceArgs
                                        {
                                            Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}",
                                        },
                                    },
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									ApplicationGatewayBackendAddressPools: compute.SubResourceArray{
    										&compute.SubResourceArgs{
    											Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}"),
    										},
    									},
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "applicationGatewayBackendAddressPools" = [{
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}"
              }]
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .applicationGatewayBackendAddressPools(SubResourceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}")
                                    .build())
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        applicationGatewayBackendAddressPools: [{
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}",
                        }],
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "application_gateway_backend_address_pools": [{
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}",
                        }],
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - applicationGatewayBackendAddressPools:
                        - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}
                      name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with an azure load balancer.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    LoadBalancerBackendAddressPools = new[]
                                    {
                                        new AzureNative.Compute.Inputs.SubResourceArgs
                                        {
                                            Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}",
                                        },
                                    },
                                    LoadBalancerInboundNatPools = new[]
                                    {
                                        new AzureNative.Compute.Inputs.SubResourceArgs
                                        {
                                            Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}",
                                        },
                                    },
                                    Name = "{vmss-name}",
                                    PublicIPAddressConfiguration = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationArgs
                                    {
                                        Name = "{vmss-name}",
                                        PublicIPAddressVersion = AzureNative.Compute.IPVersion.IPv4,
                                    },
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									LoadBalancerBackendAddressPools: compute.SubResourceArray{
    										&compute.SubResourceArgs{
    											Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}"),
    										},
    									},
    									LoadBalancerInboundNatPools: compute.SubResourceArray{
    										&compute.SubResourceArgs{
    											Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}"),
    										},
    									},
    									Name: pulumi.String("{vmss-name}"),
    									PublicIPAddressConfiguration: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationArgs{
    										Name:                   pulumi.String("{vmss-name}"),
    										PublicIPAddressVersion: pulumi.String(compute.IPVersionIPv4),
    									},
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "loadBalancerBackendAddressPools" = [{
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}"
              }]
              "loadBalancerInboundNatPools" = [{
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}"
              }]
              "name" = "{vmss-name}"
              "publicIPAddressConfiguration" = {
                "name"                   = "{vmss-name}"
                "publicIPAddressVersion" = "IPv4"
              }
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .loadBalancerBackendAddressPools(SubResourceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}")
                                    .build())
                                .loadBalancerInboundNatPools(SubResourceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}")
                                    .build())
                                .name("{vmss-name}")
                                .publicIPAddressConfiguration(VirtualMachineScaleSetPublicIPAddressConfigurationArgs.builder()
                                    .name("{vmss-name}")
                                    .publicIPAddressVersion("IPv4")
                                    .build())
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        loadBalancerBackendAddressPools: [{
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}",
                        }],
                        loadBalancerInboundNatPools: [{
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}",
                        }],
                        name: "{vmss-name}",
                        publicIPAddressConfiguration: {
                            name: "{vmss-name}",
                            publicIPAddressVersion: azure_native.compute.IPVersion.IPv4,
                        },
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "load_balancer_backend_address_pools": [{
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}",
                        }],
                        "load_balancer_inbound_nat_pools": [{
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}",
                        }],
                        "name": "{vmss-name}",
                        "public_ip_address_configuration": {
                            "name": "{vmss-name}",
                            "public_ip_address_version": azure_native.compute.IPVersion.I_PV4,
                        },
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - loadBalancerBackendAddressPools:
                        - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}
                      loadBalancerInboundNatPools:
                        - id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}
                      name: '{vmss-name}'
                      publicIPAddressConfiguration:
                        name: '{vmss-name}'
                        publicIPAddressVersion: IPv4
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with automatic repairs enabled

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            AutomaticRepairsPolicy = new AzureNative.Compute.Inputs.AutomaticRepairsPolicyArgs
            {
                Enabled = true,
                GracePeriod = "PT10M",
            },
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            ScheduledEventsPolicy = new AzureNative.Compute.Inputs.ScheduledEventsPolicyArgs
            {
                ScheduledEventsAdditionalPublishingTargets = new AzureNative.Compute.Inputs.ScheduledEventsAdditionalPublishingTargetsArgs
                {
                    EventGridAndResourceGraph = new AzureNative.Compute.Inputs.EventGridAndResourceGraphArgs
                    {
                        Enable = true,
                    },
                },
                UserInitiatedReboot = new AzureNative.Compute.Inputs.UserInitiatedRebootArgs
                {
                    AutomaticallyApprove = true,
                },
                UserInitiatedRedeploy = new AzureNative.Compute.Inputs.UserInitiatedRedeployArgs
                {
                    AutomaticallyApprove = true,
                },
            },
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			AutomaticRepairsPolicy: &compute.AutomaticRepairsPolicyArgs{
    				Enabled:     pulumi.Bool(true),
    				GracePeriod: pulumi.String("PT10M"),
    			},
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			ScheduledEventsPolicy: &compute.ScheduledEventsPolicyArgs{
    				ScheduledEventsAdditionalPublishingTargets: &compute.ScheduledEventsAdditionalPublishingTargetsArgs{
    					EventGridAndResourceGraph: &compute.EventGridAndResourceGraphArgs{
    						Enable: pulumi.Bool(true),
    					},
    				},
    				UserInitiatedReboot: &compute.UserInitiatedRebootArgs{
    					AutomaticallyApprove: pulumi.Bool(true),
    				},
    				UserInitiatedRedeploy: &compute.UserInitiatedRedeployArgs{
    					AutomaticallyApprove: pulumi.Bool(true),
    				},
    			},
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      automatic_repairs_policy = {
        enabled      = true
        grace_period = "PT10M"
      }
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      scheduled_events_policy = {
        scheduled_events_additional_publishing_targets = {
          event_grid_and_resource_graph = {
            enable = true
          }
        }
        user_initiated_reboot = {
          automatically_approve = true
        }
        user_initiated_redeploy = {
          automatically_approve = true
        }
      }
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.AutomaticRepairsPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.ScheduledEventsPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.ScheduledEventsAdditionalPublishingTargetsArgs;
    import com.pulumi.azurenative.compute.inputs.EventGridAndResourceGraphArgs;
    import com.pulumi.azurenative.compute.inputs.UserInitiatedRebootArgs;
    import com.pulumi.azurenative.compute.inputs.UserInitiatedRedeployArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .automaticRepairsPolicy(AutomaticRepairsPolicyArgs.builder()
                    .enabled(true)
                    .gracePeriod("PT10M")
                    .build())
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .scheduledEventsPolicy(ScheduledEventsPolicyArgs.builder()
                    .scheduledEventsAdditionalPublishingTargets(ScheduledEventsAdditionalPublishingTargetsArgs.builder()
                        .eventGridAndResourceGraph(EventGridAndResourceGraphArgs.builder()
                            .enable(true)
                            .build())
                        .build())
                    .userInitiatedReboot(UserInitiatedRebootArgs.builder()
                        .automaticallyApprove(true)
                        .build())
                    .userInitiatedRedeploy(UserInitiatedRedeployArgs.builder()
                        .automaticallyApprove(true)
                        .build())
                    .build())
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        automaticRepairsPolicy: {
            enabled: true,
            gracePeriod: "PT10M",
        },
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        scheduledEventsPolicy: {
            scheduledEventsAdditionalPublishingTargets: {
                eventGridAndResourceGraph: {
                    enable: true,
                },
            },
            userInitiatedReboot: {
                automaticallyApprove: true,
            },
            userInitiatedRedeploy: {
                automaticallyApprove: true,
            },
        },
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        automatic_repairs_policy={
            "enabled": True,
            "grace_period": "PT10M",
        },
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        scheduled_events_policy={
            "scheduled_events_additional_publishing_targets": {
                "event_grid_and_resource_graph": {
                    "enable": True,
                },
            },
            "user_initiated_reboot": {
                "automatically_approve": True,
            },
            "user_initiated_redeploy": {
                "automatically_approve": True,
            },
        },
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          automaticRepairsPolicy:
            enabled: true
            gracePeriod: PT10M
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          scheduledEventsPolicy:
            scheduledEventsAdditionalPublishingTargets:
              eventGridAndResourceGraph:
                enable: true
            userInitiatedReboot:
              automaticallyApprove: true
            userInitiatedRedeploy:
              automaticallyApprove: true
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with boot diagnostics.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                DiagnosticsProfile = new AzureNative.Compute.Inputs.DiagnosticsProfileArgs
                {
                    BootDiagnostics = new AzureNative.Compute.Inputs.BootDiagnosticsArgs
                    {
                        Enabled = true,
                        StorageUri = "http://{existing-storage-account-name}.blob.core.windows.net",
                    },
                },
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				DiagnosticsProfile: &compute.DiagnosticsProfileArgs{
    					BootDiagnostics: &compute.BootDiagnosticsArgs{
    						Enabled:    pulumi.Bool(true),
    						StorageUri: pulumi.String("http://{existing-storage-account-name}.blob.core.windows.net"),
    					},
    				},
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        diagnostics_profile = {
          boot_diagnostics = {
            enabled     = true
            storage_uri = "http://{existing-storage-account-name}.blob.core.windows.net"
          }
        }
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.DiagnosticsProfileArgs;
    import com.pulumi.azurenative.compute.inputs.BootDiagnosticsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .diagnosticsProfile(DiagnosticsProfileArgs.builder()
                        .bootDiagnostics(BootDiagnosticsArgs.builder()
                            .enabled(true)
                            .storageUri("http://{existing-storage-account-name}.blob.core.windows.net")
                            .build())
                        .build())
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            diagnosticsProfile: {
                bootDiagnostics: {
                    enabled: true,
                    storageUri: "http://{existing-storage-account-name}.blob.core.windows.net",
                },
            },
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "diagnostics_profile": {
                "boot_diagnostics": {
                    "enabled": True,
                    "storage_uri": "http://{existing-storage-account-name}.blob.core.windows.net",
                },
            },
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            diagnosticsProfile:
              bootDiagnostics:
                enabled: true
                storageUri: http://{existing-storage-account-name}.blob.core.windows.net
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with empty data disks on each vm.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D2_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    DataDisks = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDiskArgs
                        {
                            CreateOption = AzureNative.Compute.DiskCreateOptionTypes.Empty,
                            DiskSizeGB = 1023,
                            Lun = 0,
                        },
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDiskArgs
                        {
                            CreateOption = AzureNative.Compute.DiskCreateOptionTypes.Empty,
                            DiskSizeGB = 1023,
                            Lun = 1,
                        },
                    },
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        DiskSizeGB = 512,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D2_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					DataDisks: compute.VirtualMachineScaleSetDataDiskArray{
    						&compute.VirtualMachineScaleSetDataDiskArgs{
    							CreateOption: pulumi.String(compute.DiskCreateOptionTypesEmpty),
    							DiskSizeGB:   pulumi.Int(1023),
    							Lun:          pulumi.Int(0),
    						},
    						&compute.VirtualMachineScaleSetDataDiskArgs{
    							CreateOption: pulumi.String(compute.DiskCreateOptionTypesEmpty),
    							DiskSizeGB:   pulumi.Int(1023),
    							Lun:          pulumi.Int(1),
    						},
    					},
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						DiskSizeGB:   pulumi.Int(512),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D2_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          data_disks = [{
            "createOption" = "Empty"
            "diskSizeGB"   = 1023
            "lun"          = 0
            }, {
            "createOption" = "Empty"
            "diskSizeGB"   = 1023
            "lun"          = 1
          }]
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            disk_size_gb  = 512
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D2_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .dataDisks(                    
                            VirtualMachineScaleSetDataDiskArgs.builder()
                                .createOption("Empty")
                                .diskSizeGB(1023)
                                .lun(0)
                                .build(),
                            VirtualMachineScaleSetDataDiskArgs.builder()
                                .createOption("Empty")
                                .diskSizeGB(1023)
                                .lun(1)
                                .build())
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .diskSizeGB(512)
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D2_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                dataDisks: [
                    {
                        createOption: azure_native.compute.DiskCreateOptionTypes.Empty,
                        diskSizeGB: 1023,
                        lun: 0,
                    },
                    {
                        createOption: azure_native.compute.DiskCreateOptionTypes.Empty,
                        diskSizeGB: 1023,
                        lun: 1,
                    },
                ],
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    diskSizeGB: 512,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D2_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "data_disks": [
                    {
                        "create_option": azure_native.compute.DiskCreateOptionTypes.EMPTY,
                        "disk_size_gb": 1023,
                        "lun": 0,
                    },
                    {
                        "create_option": azure_native.compute.DiskCreateOptionTypes.EMPTY,
                        "disk_size_gb": 1023,
                        "lun": 1,
                    },
                ],
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "disk_size_gb": 512,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D2_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              dataDisks:
                - createOption: Empty
                  diskSizeGB: 1023
                  lun: 0
                - createOption: Empty
                  diskSizeGB: 1023
                  lun: 1
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                diskSizeGB: 512
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with ephemeral os disk provisioning in Nvme disk using placement property.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            Plan = new AzureNative.Compute.Inputs.PlanArgs
            {
                Name = "windows2016",
                Product = "windows-data-science-vm",
                Publisher = "microsoft-ads",
            },
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_DS1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "windows-data-science-vm",
                        Publisher = "microsoft-ads",
                        Sku = "windows2016",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadOnly,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        DiffDiskSettings = new AzureNative.Compute.Inputs.DiffDiskSettingsArgs
                        {
                            Option = AzureNative.Compute.DiffDiskOptions.Local,
                            Placement = AzureNative.Compute.DiffDiskPlacement.NvmeDisk,
                        },
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:      pulumi.String("westus"),
    			Overprovision: pulumi.Bool(true),
    			Plan: &compute.PlanArgs{
    				Name:      pulumi.String("windows2016"),
    				Product:   pulumi.String("windows-data-science-vm"),
    				Publisher: pulumi.String("microsoft-ads"),
    			},
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_DS1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("windows-data-science-vm"),
    						Publisher: pulumi.String("microsoft-ads"),
    						Sku:       pulumi.String("windows2016"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadOnly,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						DiffDiskSettings: &compute.DiffDiskSettingsArgs{
    							Option:    pulumi.String(compute.DiffDiskOptionsLocal),
    							Placement: pulumi.String(compute.DiffDiskPlacementNvmeDisk),
    						},
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location      = "westus"
      overprovision = true
      plan = {
        name      = "windows2016"
        product   = "windows-data-science-vm"
        publisher = "microsoft-ads"
      }
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_DS1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "windows-data-science-vm"
            publisher = "microsoft-ads"
            sku       = "windows2016"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadOnly"
            create_option = "FromImage"
            diff_disk_settings = {
              option    = "Local"
              placement = "NvmeDisk"
            }
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.PlanArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.DiffDiskSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .plan(PlanArgs.builder()
                    .name("windows2016")
                    .product("windows-data-science-vm")
                    .publisher("microsoft-ads")
                    .build())
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_DS1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("windows-data-science-vm")
                            .publisher("microsoft-ads")
                            .sku("windows2016")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadOnly")
                            .createOption("FromImage")
                            .diffDiskSettings(DiffDiskSettingsArgs.builder()
                                .option("Local")
                                .placement("NvmeDisk")
                                .build())
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        plan: {
            name: "windows2016",
            product: "windows-data-science-vm",
            publisher: "microsoft-ads",
        },
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_DS1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "windows-data-science-vm",
                    publisher: "microsoft-ads",
                    sku: "windows2016",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadOnly,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    diffDiskSettings: {
                        option: azure_native.compute.DiffDiskOptions.Local,
                        placement: azure_native.compute.DiffDiskPlacement.NvmeDisk,
                    },
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        plan={
            "name": "windows2016",
            "product": "windows-data-science-vm",
            "publisher": "microsoft-ads",
        },
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_DS1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "windows-data-science-vm",
                    "publisher": "microsoft-ads",
                    "sku": "windows2016",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "diff_disk_settings": {
                        "option": azure_native.compute.DiffDiskOptions.LOCAL,
                        "placement": azure_native.compute.DiffDiskPlacement.NVME_DISK,
                    },
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          plan:
            name: windows2016
            product: windows-data-science-vm
            publisher: microsoft-ads
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_DS1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: windows-data-science-vm
                publisher: microsoft-ads
                sku: windows2016
                version: latest
              osDisk:
                caching: ReadOnly
                createOption: FromImage
                diffDiskSettings:
                  option: Local
                  placement: NvmeDisk
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with ephemeral os disks using placement property.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            Plan = new AzureNative.Compute.Inputs.PlanArgs
            {
                Name = "windows2016",
                Product = "windows-data-science-vm",
                Publisher = "microsoft-ads",
            },
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_DS1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "windows-data-science-vm",
                        Publisher = "microsoft-ads",
                        Sku = "windows2016",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadOnly,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        DiffDiskSettings = new AzureNative.Compute.Inputs.DiffDiskSettingsArgs
                        {
                            Option = AzureNative.Compute.DiffDiskOptions.Local,
                            Placement = AzureNative.Compute.DiffDiskPlacement.ResourceDisk,
                        },
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:      pulumi.String("westus"),
    			Overprovision: pulumi.Bool(true),
    			Plan: &compute.PlanArgs{
    				Name:      pulumi.String("windows2016"),
    				Product:   pulumi.String("windows-data-science-vm"),
    				Publisher: pulumi.String("microsoft-ads"),
    			},
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_DS1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("windows-data-science-vm"),
    						Publisher: pulumi.String("microsoft-ads"),
    						Sku:       pulumi.String("windows2016"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadOnly,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						DiffDiskSettings: &compute.DiffDiskSettingsArgs{
    							Option:    pulumi.String(compute.DiffDiskOptionsLocal),
    							Placement: pulumi.String(compute.DiffDiskPlacementResourceDisk),
    						},
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location      = "westus"
      overprovision = true
      plan = {
        name      = "windows2016"
        product   = "windows-data-science-vm"
        publisher = "microsoft-ads"
      }
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_DS1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "windows-data-science-vm"
            publisher = "microsoft-ads"
            sku       = "windows2016"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadOnly"
            create_option = "FromImage"
            diff_disk_settings = {
              option    = "Local"
              placement = "ResourceDisk"
            }
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.PlanArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.DiffDiskSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .plan(PlanArgs.builder()
                    .name("windows2016")
                    .product("windows-data-science-vm")
                    .publisher("microsoft-ads")
                    .build())
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_DS1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("windows-data-science-vm")
                            .publisher("microsoft-ads")
                            .sku("windows2016")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadOnly")
                            .createOption("FromImage")
                            .diffDiskSettings(DiffDiskSettingsArgs.builder()
                                .option("Local")
                                .placement("ResourceDisk")
                                .build())
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        plan: {
            name: "windows2016",
            product: "windows-data-science-vm",
            publisher: "microsoft-ads",
        },
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_DS1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "windows-data-science-vm",
                    publisher: "microsoft-ads",
                    sku: "windows2016",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadOnly,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    diffDiskSettings: {
                        option: azure_native.compute.DiffDiskOptions.Local,
                        placement: azure_native.compute.DiffDiskPlacement.ResourceDisk,
                    },
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        plan={
            "name": "windows2016",
            "product": "windows-data-science-vm",
            "publisher": "microsoft-ads",
        },
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_DS1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "windows-data-science-vm",
                    "publisher": "microsoft-ads",
                    "sku": "windows2016",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "diff_disk_settings": {
                        "option": azure_native.compute.DiffDiskOptions.LOCAL,
                        "placement": azure_native.compute.DiffDiskPlacement.RESOURCE_DISK,
                    },
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          plan:
            name: windows2016
            product: windows-data-science-vm
            publisher: microsoft-ads
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_DS1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: windows-data-science-vm
                publisher: microsoft-ads
                sku: windows2016
                version: latest
              osDisk:
                caching: ReadOnly
                createOption: FromImage
                diffDiskSettings:
                  option: Local
                  placement: ResourceDisk
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with ephemeral os disks.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            Plan = new AzureNative.Compute.Inputs.PlanArgs
            {
                Name = "windows2016",
                Product = "windows-data-science-vm",
                Publisher = "microsoft-ads",
            },
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_DS1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "windows-data-science-vm",
                        Publisher = "microsoft-ads",
                        Sku = "windows2016",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadOnly,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        DiffDiskSettings = new AzureNative.Compute.Inputs.DiffDiskSettingsArgs
                        {
                            Option = AzureNative.Compute.DiffDiskOptions.Local,
                        },
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:      pulumi.String("westus"),
    			Overprovision: pulumi.Bool(true),
    			Plan: &compute.PlanArgs{
    				Name:      pulumi.String("windows2016"),
    				Product:   pulumi.String("windows-data-science-vm"),
    				Publisher: pulumi.String("microsoft-ads"),
    			},
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_DS1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("windows-data-science-vm"),
    						Publisher: pulumi.String("microsoft-ads"),
    						Sku:       pulumi.String("windows2016"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadOnly,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						DiffDiskSettings: &compute.DiffDiskSettingsArgs{
    							Option: pulumi.String(compute.DiffDiskOptionsLocal),
    						},
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location      = "westus"
      overprovision = true
      plan = {
        name      = "windows2016"
        product   = "windows-data-science-vm"
        publisher = "microsoft-ads"
      }
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_DS1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "windows-data-science-vm"
            publisher = "microsoft-ads"
            sku       = "windows2016"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadOnly"
            create_option = "FromImage"
            diff_disk_settings = {
              option = "Local"
            }
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.PlanArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.DiffDiskSettingsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .plan(PlanArgs.builder()
                    .name("windows2016")
                    .product("windows-data-science-vm")
                    .publisher("microsoft-ads")
                    .build())
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_DS1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("windows-data-science-vm")
                            .publisher("microsoft-ads")
                            .sku("windows2016")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadOnly")
                            .createOption("FromImage")
                            .diffDiskSettings(DiffDiskSettingsArgs.builder()
                                .option("Local")
                                .build())
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        plan: {
            name: "windows2016",
            product: "windows-data-science-vm",
            publisher: "microsoft-ads",
        },
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_DS1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "windows-data-science-vm",
                    publisher: "microsoft-ads",
                    sku: "windows2016",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadOnly,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    diffDiskSettings: {
                        option: azure_native.compute.DiffDiskOptions.Local,
                    },
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        plan={
            "name": "windows2016",
            "product": "windows-data-science-vm",
            "publisher": "microsoft-ads",
        },
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_DS1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "windows-data-science-vm",
                    "publisher": "microsoft-ads",
                    "sku": "windows2016",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "diff_disk_settings": {
                        "option": azure_native.compute.DiffDiskOptions.LOCAL,
                    },
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          plan:
            name: windows2016
            product: windows-data-science-vm
            publisher: microsoft-ads
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_DS1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: windows-data-science-vm
                publisher: microsoft-ads
                sku: windows2016
                version: latest
              osDisk:
                caching: ReadOnly
                createOption: FromImage
                diffDiskSettings:
                  option: Local
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with extension time budget.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                DiagnosticsProfile = new AzureNative.Compute.Inputs.DiagnosticsProfileArgs
                {
                    BootDiagnostics = new AzureNative.Compute.Inputs.BootDiagnosticsArgs
                    {
                        Enabled = true,
                        StorageUri = "http://{existing-storage-account-name}.blob.core.windows.net",
                    },
                },
                ExtensionProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionProfileArgs
                {
                    Extensions = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionArgs
                        {
                            AutoUpgradeMinorVersion = false,
                            Name = "{extension-name}",
                            Publisher = "{extension-Publisher}",
                            Settings = null,
                            Type = "{extension-Type}",
                            TypeHandlerVersion = "{handler-version}",
                        },
                    },
                    ExtensionsTimeBudget = "PT1H20M",
                },
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				DiagnosticsProfile: &compute.DiagnosticsProfileArgs{
    					BootDiagnostics: &compute.BootDiagnosticsArgs{
    						Enabled:    pulumi.Bool(true),
    						StorageUri: pulumi.String("http://{existing-storage-account-name}.blob.core.windows.net"),
    					},
    				},
    				ExtensionProfile: &compute.VirtualMachineScaleSetExtensionProfileArgs{
    					Extensions: compute.VirtualMachineScaleSetExtensionTypeArray{
    						&compute.VirtualMachineScaleSetExtensionTypeArgs{
    							AutoUpgradeMinorVersion: pulumi.Bool(false),
    							Name:                    pulumi.String("{extension-name}"),
    							Publisher:               pulumi.String("{extension-Publisher}"),
    							Settings:                pulumi.Any(map[string]interface{}{}),
    							Type:                    pulumi.String("{extension-Type}"),
    							TypeHandlerVersion:      pulumi.String("{handler-version}"),
    						},
    					},
    					ExtensionsTimeBudget: pulumi.String("PT1H20M"),
    				},
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        diagnostics_profile = {
          boot_diagnostics = {
            enabled     = true
            storage_uri = "http://{existing-storage-account-name}.blob.core.windows.net"
          }
        }
        extension_profile = {
          extensions = [{
            "autoUpgradeMinorVersion" = false
            "name"                    = "{extension-name}"
            "publisher"               = "{extension-Publisher}"
            "settings"                = {}
            "type"                    = "{extension-Type}"
            "typeHandlerVersion"      = "{handler-version}"
          }]
          extensions_time_budget = "PT1H20M"
        }
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.DiagnosticsProfileArgs;
    import com.pulumi.azurenative.compute.inputs.BootDiagnosticsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetExtensionProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .diagnosticsProfile(DiagnosticsProfileArgs.builder()
                        .bootDiagnostics(BootDiagnosticsArgs.builder()
                            .enabled(true)
                            .storageUri("http://{existing-storage-account-name}.blob.core.windows.net")
                            .build())
                        .build())
                    .extensionProfile(VirtualMachineScaleSetExtensionProfileArgs.builder()
                        .extensions(VirtualMachineScaleSetExtensionArgs.builder()
                            .autoUpgradeMinorVersion(false)
                            .name("{extension-name}")
                            .publisher("{extension-Publisher}")
                            .settings(Map.ofEntries(
                            ))
                            .type("{extension-Type}")
                            .typeHandlerVersion("{handler-version}")
                            .build())
                        .extensionsTimeBudget("PT1H20M")
                        .build())
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            diagnosticsProfile: {
                bootDiagnostics: {
                    enabled: true,
                    storageUri: "http://{existing-storage-account-name}.blob.core.windows.net",
                },
            },
            extensionProfile: {
                extensions: [{
                    autoUpgradeMinorVersion: false,
                    name: "{extension-name}",
                    publisher: "{extension-Publisher}",
                    settings: {},
                    type: "{extension-Type}",
                    typeHandlerVersion: "{handler-version}",
                }],
                extensionsTimeBudget: "PT1H20M",
            },
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "diagnostics_profile": {
                "boot_diagnostics": {
                    "enabled": True,
                    "storage_uri": "http://{existing-storage-account-name}.blob.core.windows.net",
                },
            },
            "extension_profile": {
                "extensions": [{
                    "auto_upgrade_minor_version": False,
                    "name": "{extension-name}",
                    "publisher": "{extension-Publisher}",
                    "settings": {},
                    "type": "{extension-Type}",
                    "type_handler_version": "{handler-version}",
                }],
                "extensions_time_budget": "PT1H20M",
            },
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            diagnosticsProfile:
              bootDiagnostics:
                enabled: true
                storageUri: http://{existing-storage-account-name}.blob.core.windows.net
            extensionProfile:
              extensions:
                - autoUpgradeMinorVersion: false
                  name: '{extension-name}'
                  publisher: '{extension-Publisher}'
                  settings: {}
                  type: '{extension-Type}'
                  typeHandlerVersion: '{handler-version}'
              extensionsTimeBudget: PT1H20M
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with managed boot diagnostics.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                DiagnosticsProfile = new AzureNative.Compute.Inputs.DiagnosticsProfileArgs
                {
                    BootDiagnostics = new AzureNative.Compute.Inputs.BootDiagnosticsArgs
                    {
                        Enabled = true,
                    },
                },
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				DiagnosticsProfile: &compute.DiagnosticsProfileArgs{
    					BootDiagnostics: &compute.BootDiagnosticsArgs{
    						Enabled: pulumi.Bool(true),
    					},
    				},
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        diagnostics_profile = {
          boot_diagnostics = {
            enabled = true
          }
        }
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.DiagnosticsProfileArgs;
    import com.pulumi.azurenative.compute.inputs.BootDiagnosticsArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .diagnosticsProfile(DiagnosticsProfileArgs.builder()
                        .bootDiagnostics(BootDiagnosticsArgs.builder()
                            .enabled(true)
                            .build())
                        .build())
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            diagnosticsProfile: {
                bootDiagnostics: {
                    enabled: true,
                },
            },
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "diagnostics_profile": {
                "boot_diagnostics": {
                    "enabled": True,
                },
            },
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            diagnosticsProfile:
              bootDiagnostics:
                enabled: true
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with password authentication.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with premium storage.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Premium_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Premium_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Premium_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Premium_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Premium_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.PREMIUM_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Premium_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with priority mix policy

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            OrchestrationMode = AzureNative.Compute.OrchestrationMode.Flexible,
            PlatformFaultDomainCount = 1,
            PriorityMixPolicy = new AzureNative.Compute.Inputs.PriorityMixPolicyArgs
            {
                BaseRegularPriorityCount = 10,
                RegularPriorityPercentageAboveBase = 50,
            },
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 2,
                Name = "Standard_A8m_v2",
                Tier = "Standard",
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkApiVersion = AzureNative.Compute.NetworkApiVersion.NetworkApiVersion_2020_11_01,
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableAcceleratedNetworking = false,
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    ApplicationGatewayBackendAddressPools = new() { },
                                    LoadBalancerBackendAddressPools = new() { },
                                    Name = "{vmss-name}",
                                    Primary = true,
                                    PublicIPAddressConfiguration = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationArgs
                                    {
                                        IdleTimeoutInMinutes = 15,
                                        Name = "{vmss-name}",
                                    },
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                Priority = AzureNative.Compute.VirtualMachinePriorityTypes.Spot,
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "0001-com-ubuntu-server-focal",
                        Publisher = "Canonical",
                        Sku = "20_04-lts-gen2",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:                 pulumi.String("westus"),
    			OrchestrationMode:        pulumi.String(compute.OrchestrationModeFlexible),
    			PlatformFaultDomainCount: pulumi.Int(1),
    			PriorityMixPolicy: &compute.PriorityMixPolicyArgs{
    				BaseRegularPriorityCount:           pulumi.Int(10),
    				RegularPriorityPercentageAboveBase: pulumi.Int(50),
    			},
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(2),
    				Name:     pulumi.String("Standard_A8m_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkApiVersion: pulumi.String(compute.NetworkApiVersion_2020_11_01),
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableAcceleratedNetworking: pulumi.Bool(false),
    							EnableIPForwarding:          pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									ApplicationGatewayBackendAddressPools: compute.SubResourceArray{},
    									LoadBalancerBackendAddressPools:       compute.SubResourceArray{},
    									Name:                                  pulumi.String("{vmss-name}"),
    									Primary:                               pulumi.Bool(true),
    									PublicIPAddressConfiguration: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationArgs{
    										IdleTimeoutInMinutes: pulumi.Int(15),
    										Name:                 pulumi.String("{vmss-name}"),
    									},
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				Priority: pulumi.String(compute.VirtualMachinePriorityTypesSpot),
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("0001-com-ubuntu-server-focal"),
    						Publisher: pulumi.String("Canonical"),
    						Sku:       pulumi.String("20_04-lts-gen2"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location                    = "westus"
      orchestration_mode          = "Flexible"
      platform_fault_domain_count = 1
      priority_mix_policy = {
        base_regular_priority_count            = 10
        regular_priority_percentage_above_base = 50
      }
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 2
        name     = "Standard_A8m_v2"
        tier     = "Standard"
      }
      virtual_machine_profile = {
        network_profile = {
          network_api_version = "2020-11-01"
          network_interface_configurations = [{
            "enableAcceleratedNetworking" = false
            "enableIPForwarding"          = true
            "ipConfigurations" = [{
              "applicationGatewayBackendAddressPools" = []
              "loadBalancerBackendAddressPools"       = []
              "name"                                  = "{vmss-name}"
              "primary"                               = true
              "publicIPAddressConfiguration" = {
                "idleTimeoutInMinutes" = 15
                "name"                 = "{vmss-name}"
              }
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        priority = "Spot"
        storage_profile = {
          image_reference = {
            offer     = "0001-com-ubuntu-server-focal"
            publisher = "Canonical"
            sku       = "20_04-lts-gen2"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.PriorityMixPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .orchestrationMode("Flexible")
                .platformFaultDomainCount(1)
                .priorityMixPolicy(PriorityMixPolicyArgs.builder()
                    .baseRegularPriorityCount(10)
                    .regularPriorityPercentageAboveBase(50)
                    .build())
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(2.0)
                    .name("Standard_A8m_v2")
                    .tier("Standard")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkApiVersion("2020-11-01")
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableAcceleratedNetworking(false)
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .applicationGatewayBackendAddressPools()
                                .loadBalancerBackendAddressPools()
                                .name("{vmss-name}")
                                .primary(true)
                                .publicIPAddressConfiguration(VirtualMachineScaleSetPublicIPAddressConfigurationArgs.builder()
                                    .idleTimeoutInMinutes(15)
                                    .name("{vmss-name}")
                                    .build())
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .priority("Spot")
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("0001-com-ubuntu-server-focal")
                            .publisher("Canonical")
                            .sku("20_04-lts-gen2")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        orchestrationMode: azure_native.compute.OrchestrationMode.Flexible,
        platformFaultDomainCount: 1,
        priorityMixPolicy: {
            baseRegularPriorityCount: 10,
            regularPriorityPercentageAboveBase: 50,
        },
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 2,
            name: "Standard_A8m_v2",
            tier: "Standard",
        },
        virtualMachineProfile: {
            networkProfile: {
                networkApiVersion: azure_native.compute.NetworkApiVersion.NetworkApiVersion_2020_11_01,
                networkInterfaceConfigurations: [{
                    enableAcceleratedNetworking: false,
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        applicationGatewayBackendAddressPools: [],
                        loadBalancerBackendAddressPools: [],
                        name: "{vmss-name}",
                        primary: true,
                        publicIPAddressConfiguration: {
                            idleTimeoutInMinutes: 15,
                            name: "{vmss-name}",
                        },
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            priority: azure_native.compute.VirtualMachinePriorityTypes.Spot,
            storageProfile: {
                imageReference: {
                    offer: "0001-com-ubuntu-server-focal",
                    publisher: "Canonical",
                    sku: "20_04-lts-gen2",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        orchestration_mode=azure_native.compute.OrchestrationMode.FLEXIBLE,
        platform_fault_domain_count=1,
        priority_mix_policy={
            "base_regular_priority_count": 10,
            "regular_priority_percentage_above_base": 50,
        },
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(2),
            "name": "Standard_A8m_v2",
            "tier": "Standard",
        },
        virtual_machine_profile={
            "network_profile": {
                "network_api_version": azure_native.compute.NetworkApiVersion.NETWORK_API_VERSION_2020_11_01,
                "network_interface_configurations": [{
                    "enable_accelerated_networking": False,
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "application_gateway_backend_address_pools": [],
                        "load_balancer_backend_address_pools": [],
                        "name": "{vmss-name}",
                        "primary": True,
                        "public_ip_address_configuration": {
                            "idle_timeout_in_minutes": 15,
                            "name": "{vmss-name}",
                        },
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "priority": azure_native.compute.VirtualMachinePriorityTypes.SPOT,
            "storage_profile": {
                "image_reference": {
                    "offer": "0001-com-ubuntu-server-focal",
                    "publisher": "Canonical",
                    "sku": "20_04-lts-gen2",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          orchestrationMode: Flexible
          platformFaultDomainCount: 1
          priorityMixPolicy:
            baseRegularPriorityCount: 10
            regularPriorityPercentageAboveBase: 50
          resourceGroupName: myResourceGroup
          sku:
            capacity: 2
            name: Standard_A8m_v2
            tier: Standard
          virtualMachineProfile:
            networkProfile:
              networkApiVersion: 2020-11-01
              networkInterfaceConfigurations:
                - enableAcceleratedNetworking: false
                  enableIPForwarding: true
                  ipConfigurations:
                    - applicationGatewayBackendAddressPools: []
                      loadBalancerBackendAddressPools: []
                      name: '{vmss-name}'
                      primary: true
                      publicIPAddressConfiguration:
                        idleTimeoutInMinutes: 15
                        name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            priority: Spot
            storageProfile:
              imageReference:
                offer: 0001-com-ubuntu-server-focal
                publisher: Canonical
                sku: 20_04-lts-gen2
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with scaleInPolicy.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            ScaleInPolicy = new AzureNative.Compute.Inputs.ScaleInPolicyArgs
            {
                ForceDeletion = true,
                PrioritizeUnhealthyVMs = true,
                Rules = new[]
                {
                    AzureNative.Compute.VirtualMachineScaleSetScaleInRules.OldestVM,
                },
            },
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			ScaleInPolicy: &compute.ScaleInPolicyArgs{
    				ForceDeletion:          pulumi.Bool(true),
    				PrioritizeUnhealthyVMs: pulumi.Bool(true),
    				Rules: pulumi.StringArray{
    					pulumi.String(compute.VirtualMachineScaleSetScaleInRulesOldestVM),
    				},
    			},
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      scale_in_policy = {
        force_deletion            = true
        prioritize_unhealthy_v_ms = true
        rules                     = ["OldestVM"]
      }
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.ScaleInPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .scaleInPolicy(ScaleInPolicyArgs.builder()
                    .forceDeletion(true)
                    .prioritizeUnhealthyVMs(true)
                    .rules("OldestVM")
                    .build())
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        scaleInPolicy: {
            forceDeletion: true,
            prioritizeUnhealthyVMs: true,
            rules: [azure_native.compute.VirtualMachineScaleSetScaleInRules.OldestVM],
        },
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        scale_in_policy={
            "force_deletion": True,
            "prioritize_unhealthy_vms": True,
            "rules": [azure_native.compute.VirtualMachineScaleSetScaleInRules.OLDEST_VM],
        },
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          scaleInPolicy:
            forceDeletion: true
            prioritizeUnhealthyVMs: true
            rules:
              - OldestVM
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with sku profile

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            OrchestrationMode = AzureNative.Compute.OrchestrationMode.Flexible,
            PriorityMixPolicy = new AzureNative.Compute.Inputs.PriorityMixPolicyArgs
            {
                BaseRegularPriorityCount = 4,
                RegularPriorityPercentageAboveBase = 50,
            },
            ResourceGroupName = "myResourceGroup",
            SinglePlacementGroup = false,
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 10,
                Name = "Mix",
            },
            SkuProfile = new AzureNative.Compute.Inputs.SkuProfileArgs
            {
                AllocationStrategy = AzureNative.Compute.AllocationStrategy.CapacityOptimized,
                VmSizes = new[]
                {
                    new AzureNative.Compute.Inputs.SkuProfileVMSizeArgs
                    {
                        Name = "Standard_D8s_v5",
                    },
                    new AzureNative.Compute.Inputs.SkuProfileVMSizeArgs
                    {
                        Name = "Standard_E16s_v5",
                    },
                    new AzureNative.Compute.Inputs.SkuProfileVMSizeArgs
                    {
                        Name = "Standard_D2s_v5",
                    },
                },
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                BillingProfile = new AzureNative.Compute.Inputs.BillingProfileArgs
                {
                    MaxPrice = -1,
                },
                EvictionPolicy = AzureNative.Compute.VirtualMachineEvictionPolicyTypes.Deallocate,
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                Priority = AzureNative.Compute.VirtualMachinePriorityTypes.Spot,
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			OrchestrationMode: pulumi.String(compute.OrchestrationModeFlexible),
    			PriorityMixPolicy: &compute.PriorityMixPolicyArgs{
    				BaseRegularPriorityCount:           pulumi.Int(4),
    				RegularPriorityPercentageAboveBase: pulumi.Int(50),
    			},
    			ResourceGroupName:    pulumi.String("myResourceGroup"),
    			SinglePlacementGroup: pulumi.Bool(false),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(10),
    				Name:     pulumi.String("Mix"),
    			},
    			SkuProfile: &compute.SkuProfileArgs{
    				AllocationStrategy: pulumi.String(compute.AllocationStrategyCapacityOptimized),
    				VmSizes: compute.SkuProfileVMSizeArray{
    					&compute.SkuProfileVMSizeArgs{
    						Name: pulumi.String("Standard_D8s_v5"),
    					},
    					&compute.SkuProfileVMSizeArgs{
    						Name: pulumi.String("Standard_E16s_v5"),
    					},
    					&compute.SkuProfileVMSizeArgs{
    						Name: pulumi.String("Standard_D2s_v5"),
    					},
    				},
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				BillingProfile: &compute.BillingProfileArgs{
    					MaxPrice: pulumi.Float64(-1),
    				},
    				EvictionPolicy: pulumi.String(compute.VirtualMachineEvictionPolicyTypesDeallocate),
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				Priority: pulumi.String(compute.VirtualMachinePriorityTypesSpot),
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location           = "westus"
      orchestration_mode = "Flexible"
      priority_mix_policy = {
        base_regular_priority_count            = 4
        regular_priority_percentage_above_base = 50
      }
      resource_group_name    = "myResourceGroup"
      single_placement_group = false
      sku = {
        capacity = 10
        name     = "Mix"
      }
      sku_profile = {
        allocation_strategy = "CapacityOptimized"
        vm_sizes = [{
          "name" = "Standard_D8s_v5"
          }, {
          "name" = "Standard_E16s_v5"
          }, {
          "name" = "Standard_D2s_v5"
        }]
      }
      virtual_machine_profile = {
        billing_profile = {
          max_price = -1
        }
        eviction_policy = "Deallocate"
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        priority = "Spot"
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.PriorityMixPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.SkuProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.BillingProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .orchestrationMode("Flexible")
                .priorityMixPolicy(PriorityMixPolicyArgs.builder()
                    .baseRegularPriorityCount(4)
                    .regularPriorityPercentageAboveBase(50)
                    .build())
                .resourceGroupName("myResourceGroup")
                .singlePlacementGroup(false)
                .sku(SkuArgs.builder()
                    .capacity(10.0)
                    .name("Mix")
                    .build())
                .skuProfile(SkuProfileArgs.builder()
                    .allocationStrategy("CapacityOptimized")
                    .vmSizes(                
                        SkuProfileVMSizeArgs.builder()
                            .name("Standard_D8s_v5")
                            .build(),
                        SkuProfileVMSizeArgs.builder()
                            .name("Standard_E16s_v5")
                            .build(),
                        SkuProfileVMSizeArgs.builder()
                            .name("Standard_D2s_v5")
                            .build())
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .billingProfile(BillingProfileArgs.builder()
                        .maxPrice(-1.0)
                        .build())
                    .evictionPolicy("Deallocate")
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .priority("Spot")
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        orchestrationMode: azure_native.compute.OrchestrationMode.Flexible,
        priorityMixPolicy: {
            baseRegularPriorityCount: 4,
            regularPriorityPercentageAboveBase: 50,
        },
        resourceGroupName: "myResourceGroup",
        singlePlacementGroup: false,
        sku: {
            capacity: 10,
            name: "Mix",
        },
        skuProfile: {
            allocationStrategy: azure_native.compute.AllocationStrategy.CapacityOptimized,
            vmSizes: [
                {
                    name: "Standard_D8s_v5",
                },
                {
                    name: "Standard_E16s_v5",
                },
                {
                    name: "Standard_D2s_v5",
                },
            ],
        },
        virtualMachineProfile: {
            billingProfile: {
                maxPrice: -1,
            },
            evictionPolicy: azure_native.compute.VirtualMachineEvictionPolicyTypes.Deallocate,
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            priority: azure_native.compute.VirtualMachinePriorityTypes.Spot,
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        orchestration_mode=azure_native.compute.OrchestrationMode.FLEXIBLE,
        priority_mix_policy={
            "base_regular_priority_count": 4,
            "regular_priority_percentage_above_base": 50,
        },
        resource_group_name="myResourceGroup",
        single_placement_group=False,
        sku={
            "capacity": float(10),
            "name": "Mix",
        },
        sku_profile={
            "allocation_strategy": azure_native.compute.AllocationStrategy.CAPACITY_OPTIMIZED,
            "vm_sizes": [
                {
                    "name": "Standard_D8s_v5",
                },
                {
                    "name": "Standard_E16s_v5",
                },
                {
                    "name": "Standard_D2s_v5",
                },
            ],
        },
        virtual_machine_profile={
            "billing_profile": {
                "max_price": float(-1),
            },
            "eviction_policy": azure_native.compute.VirtualMachineEvictionPolicyTypes.DEALLOCATE,
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "priority": azure_native.compute.VirtualMachinePriorityTypes.SPOT,
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          orchestrationMode: Flexible
          priorityMixPolicy:
            baseRegularPriorityCount: 4
            regularPriorityPercentageAboveBase: 50
          resourceGroupName: myResourceGroup
          singlePlacementGroup: false
          sku:
            capacity: 10
            name: Mix
          skuProfile:
            allocationStrategy: CapacityOptimized
            vmSizes:
              - name: Standard_D8s_v5
              - name: Standard_E16s_v5
              - name: Standard_D2s_v5
          virtualMachineProfile:
            billingProfile:
              maxPrice: -1
            evictionPolicy: Deallocate
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            priority: Spot
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with sku profile and prioritized allocation strategy

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            OrchestrationMode = AzureNative.Compute.OrchestrationMode.Flexible,
            PriorityMixPolicy = new AzureNative.Compute.Inputs.PriorityMixPolicyArgs
            {
                BaseRegularPriorityCount = 4,
                RegularPriorityPercentageAboveBase = 50,
            },
            ResourceGroupName = "myResourceGroup",
            SinglePlacementGroup = false,
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 10,
                Name = "Mix",
            },
            SkuProfile = new AzureNative.Compute.Inputs.SkuProfileArgs
            {
                AllocationStrategy = AzureNative.Compute.AllocationStrategy.Prioritized,
                VmSizes = new[]
                {
                    new AzureNative.Compute.Inputs.SkuProfileVMSizeArgs
                    {
                        Name = "Standard_D8s_v5",
                        Rank = 0,
                    },
                    new AzureNative.Compute.Inputs.SkuProfileVMSizeArgs
                    {
                        Name = "Standard_E16s_v5",
                        Rank = 1,
                    },
                    new AzureNative.Compute.Inputs.SkuProfileVMSizeArgs
                    {
                        Name = "Standard_D2s_v5",
                        Rank = 2,
                    },
                },
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                BillingProfile = new AzureNative.Compute.Inputs.BillingProfileArgs
                {
                    MaxPrice = -1,
                },
                EvictionPolicy = AzureNative.Compute.VirtualMachineEvictionPolicyTypes.Deallocate,
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                Priority = AzureNative.Compute.VirtualMachinePriorityTypes.Spot,
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			OrchestrationMode: pulumi.String(compute.OrchestrationModeFlexible),
    			PriorityMixPolicy: &compute.PriorityMixPolicyArgs{
    				BaseRegularPriorityCount:           pulumi.Int(4),
    				RegularPriorityPercentageAboveBase: pulumi.Int(50),
    			},
    			ResourceGroupName:    pulumi.String("myResourceGroup"),
    			SinglePlacementGroup: pulumi.Bool(false),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(10),
    				Name:     pulumi.String("Mix"),
    			},
    			SkuProfile: &compute.SkuProfileArgs{
    				AllocationStrategy: pulumi.String(compute.AllocationStrategyPrioritized),
    				VmSizes: compute.SkuProfileVMSizeArray{
    					&compute.SkuProfileVMSizeArgs{
    						Name: pulumi.String("Standard_D8s_v5"),
    						Rank: pulumi.Int(0),
    					},
    					&compute.SkuProfileVMSizeArgs{
    						Name: pulumi.String("Standard_E16s_v5"),
    						Rank: pulumi.Int(1),
    					},
    					&compute.SkuProfileVMSizeArgs{
    						Name: pulumi.String("Standard_D2s_v5"),
    						Rank: pulumi.Int(2),
    					},
    				},
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				BillingProfile: &compute.BillingProfileArgs{
    					MaxPrice: pulumi.Float64(-1),
    				},
    				EvictionPolicy: pulumi.String(compute.VirtualMachineEvictionPolicyTypesDeallocate),
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				Priority: pulumi.String(compute.VirtualMachinePriorityTypesSpot),
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location           = "westus"
      orchestration_mode = "Flexible"
      priority_mix_policy = {
        base_regular_priority_count            = 4
        regular_priority_percentage_above_base = 50
      }
      resource_group_name    = "myResourceGroup"
      single_placement_group = false
      sku = {
        capacity = 10
        name     = "Mix"
      }
      sku_profile = {
        allocation_strategy = "Prioritized"
        vm_sizes = [{
          "name" = "Standard_D8s_v5"
          "rank" = 0
          }, {
          "name" = "Standard_E16s_v5"
          "rank" = 1
          }, {
          "name" = "Standard_D2s_v5"
          "rank" = 2
        }]
      }
      virtual_machine_profile = {
        billing_profile = {
          max_price = -1
        }
        eviction_policy = "Deallocate"
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        priority = "Spot"
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.PriorityMixPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.SkuProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.BillingProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .orchestrationMode("Flexible")
                .priorityMixPolicy(PriorityMixPolicyArgs.builder()
                    .baseRegularPriorityCount(4)
                    .regularPriorityPercentageAboveBase(50)
                    .build())
                .resourceGroupName("myResourceGroup")
                .singlePlacementGroup(false)
                .sku(SkuArgs.builder()
                    .capacity(10.0)
                    .name("Mix")
                    .build())
                .skuProfile(SkuProfileArgs.builder()
                    .allocationStrategy("Prioritized")
                    .vmSizes(                
                        SkuProfileVMSizeArgs.builder()
                            .name("Standard_D8s_v5")
                            .rank(0)
                            .build(),
                        SkuProfileVMSizeArgs.builder()
                            .name("Standard_E16s_v5")
                            .rank(1)
                            .build(),
                        SkuProfileVMSizeArgs.builder()
                            .name("Standard_D2s_v5")
                            .rank(2)
                            .build())
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .billingProfile(BillingProfileArgs.builder()
                        .maxPrice(-1.0)
                        .build())
                    .evictionPolicy("Deallocate")
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .priority("Spot")
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        orchestrationMode: azure_native.compute.OrchestrationMode.Flexible,
        priorityMixPolicy: {
            baseRegularPriorityCount: 4,
            regularPriorityPercentageAboveBase: 50,
        },
        resourceGroupName: "myResourceGroup",
        singlePlacementGroup: false,
        sku: {
            capacity: 10,
            name: "Mix",
        },
        skuProfile: {
            allocationStrategy: azure_native.compute.AllocationStrategy.Prioritized,
            vmSizes: [
                {
                    name: "Standard_D8s_v5",
                    rank: 0,
                },
                {
                    name: "Standard_E16s_v5",
                    rank: 1,
                },
                {
                    name: "Standard_D2s_v5",
                    rank: 2,
                },
            ],
        },
        virtualMachineProfile: {
            billingProfile: {
                maxPrice: -1,
            },
            evictionPolicy: azure_native.compute.VirtualMachineEvictionPolicyTypes.Deallocate,
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            priority: azure_native.compute.VirtualMachinePriorityTypes.Spot,
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        orchestration_mode=azure_native.compute.OrchestrationMode.FLEXIBLE,
        priority_mix_policy={
            "base_regular_priority_count": 4,
            "regular_priority_percentage_above_base": 50,
        },
        resource_group_name="myResourceGroup",
        single_placement_group=False,
        sku={
            "capacity": float(10),
            "name": "Mix",
        },
        sku_profile={
            "allocation_strategy": azure_native.compute.AllocationStrategy.PRIORITIZED,
            "vm_sizes": [
                {
                    "name": "Standard_D8s_v5",
                    "rank": 0,
                },
                {
                    "name": "Standard_E16s_v5",
                    "rank": 1,
                },
                {
                    "name": "Standard_D2s_v5",
                    "rank": 2,
                },
            ],
        },
        virtual_machine_profile={
            "billing_profile": {
                "max_price": float(-1),
            },
            "eviction_policy": azure_native.compute.VirtualMachineEvictionPolicyTypes.DEALLOCATE,
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "priority": azure_native.compute.VirtualMachinePriorityTypes.SPOT,
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          orchestrationMode: Flexible
          priorityMixPolicy:
            baseRegularPriorityCount: 4
            regularPriorityPercentageAboveBase: 50
          resourceGroupName: myResourceGroup
          singlePlacementGroup: false
          sku:
            capacity: 10
            name: Mix
          skuProfile:
            allocationStrategy: Prioritized
            vmSizes:
              - name: Standard_D8s_v5
                rank: 0
              - name: Standard_E16s_v5
                rank: 1
              - name: Standard_D2s_v5
                rank: 2
          virtualMachineProfile:
            billingProfile:
              maxPrice: -1
            evictionPolicy: Deallocate
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            priority: Spot
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with spot restore policy

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 2,
                Name = "Standard_A8m_v2",
                Tier = "Standard",
            },
            SpotRestorePolicy = new AzureNative.Compute.Inputs.SpotRestorePolicyArgs
            {
                Enabled = true,
                RestoreTimeout = "PT1H",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                BillingProfile = new AzureNative.Compute.Inputs.BillingProfileArgs
                {
                    MaxPrice = -1,
                },
                EvictionPolicy = AzureNative.Compute.VirtualMachineEvictionPolicyTypes.Deallocate,
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                Priority = AzureNative.Compute.VirtualMachinePriorityTypes.Spot,
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(2),
    				Name:     pulumi.String("Standard_A8m_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			SpotRestorePolicy: &compute.SpotRestorePolicyArgs{
    				Enabled:        pulumi.Bool(true),
    				RestoreTimeout: pulumi.String("PT1H"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				BillingProfile: &compute.BillingProfileArgs{
    					MaxPrice: pulumi.Float64(-1),
    				},
    				EvictionPolicy: pulumi.String(compute.VirtualMachineEvictionPolicyTypesDeallocate),
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				Priority: pulumi.String(compute.VirtualMachinePriorityTypesSpot),
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 2
        name     = "Standard_A8m_v2"
        tier     = "Standard"
      }
      spot_restore_policy = {
        enabled         = true
        restore_timeout = "PT1H"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        billing_profile = {
          max_price = -1
        }
        eviction_policy = "Deallocate"
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        priority = "Spot"
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.SpotRestorePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.BillingProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(2.0)
                    .name("Standard_A8m_v2")
                    .tier("Standard")
                    .build())
                .spotRestorePolicy(SpotRestorePolicyArgs.builder()
                    .enabled(true)
                    .restoreTimeout("PT1H")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .billingProfile(BillingProfileArgs.builder()
                        .maxPrice(-1.0)
                        .build())
                    .evictionPolicy("Deallocate")
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .priority("Spot")
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 2,
            name: "Standard_A8m_v2",
            tier: "Standard",
        },
        spotRestorePolicy: {
            enabled: true,
            restoreTimeout: "PT1H",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            billingProfile: {
                maxPrice: -1,
            },
            evictionPolicy: azure_native.compute.VirtualMachineEvictionPolicyTypes.Deallocate,
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            priority: azure_native.compute.VirtualMachinePriorityTypes.Spot,
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(2),
            "name": "Standard_A8m_v2",
            "tier": "Standard",
        },
        spot_restore_policy={
            "enabled": True,
            "restore_timeout": "PT1H",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "billing_profile": {
                "max_price": float(-1),
            },
            "eviction_policy": azure_native.compute.VirtualMachineEvictionPolicyTypes.DEALLOCATE,
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "priority": azure_native.compute.VirtualMachinePriorityTypes.SPOT,
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 2
            name: Standard_A8m_v2
            tier: Standard
          spotRestorePolicy:
            enabled: true
            restoreTimeout: PT1H
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            billingProfile:
              maxPrice: -1
            evictionPolicy: Deallocate
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            priority: Spot
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with ssh authentication.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                    LinuxConfiguration = new AzureNative.Compute.Inputs.LinuxConfigurationArgs
                    {
                        DisablePasswordAuthentication = true,
                        Ssh = new AzureNative.Compute.Inputs.SshConfigurationArgs
                        {
                            PublicKeys = new[]
                            {
                                new AzureNative.Compute.Inputs.SshPublicKeyArgs
                                {
                                    KeyData = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1",
                                    Path = "/home/{your-username}/.ssh/authorized_keys",
                                },
                            },
                        },
                    },
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    					LinuxConfiguration: &compute.LinuxConfigurationArgs{
    						DisablePasswordAuthentication: pulumi.Bool(true),
    						Ssh: &compute.SshConfigurationArgs{
    							PublicKeys: compute.SshPublicKeyTypeArray{
    								&compute.SshPublicKeyTypeArgs{
    									KeyData: pulumi.String("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"),
    									Path:    pulumi.String("/home/{your-username}/.ssh/authorized_keys"),
    								},
    							},
    						},
    					},
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
          linux_configuration = {
            disable_password_authentication = true
            ssh = {
              public_keys = [{
                "keyData" = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
                "path"    = "/home/{your-username}/.ssh/authorized_keys"
              }]
            }
          }
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.LinuxConfigurationArgs;
    import com.pulumi.azurenative.compute.inputs.SshConfigurationArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .linuxConfiguration(LinuxConfigurationArgs.builder()
                            .disablePasswordAuthentication(true)
                            .ssh(SshConfigurationArgs.builder()
                                .publicKeys(SshPublicKeyArgs.builder()
                                    .keyData("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1")
                                    .path("/home/{your-username}/.ssh/authorized_keys")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
                linuxConfiguration: {
                    disablePasswordAuthentication: true,
                    ssh: {
                        publicKeys: [{
                            keyData: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1",
                            path: "/home/{your-username}/.ssh/authorized_keys",
                        }],
                    },
                },
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
                "linux_configuration": {
                    "disable_password_authentication": True,
                    "ssh": {
                        "public_keys": [{
                            "key_data": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1",
                            "path": "/home/{your-username}/.ssh/authorized_keys",
                        }],
                    },
                },
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
              linuxConfiguration:
                disablePasswordAuthentication: true
                ssh:
                  publicKeys:
                    - keyData: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1
                      path: /home/{your-username}/.ssh/authorized_keys
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with terminate scheduled events enabled.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                ScheduledEventsProfile = new AzureNative.Compute.Inputs.ScheduledEventsProfileArgs
                {
                    TerminateNotificationProfile = new AzureNative.Compute.Inputs.TerminateNotificationProfileArgs
                    {
                        Enable = true,
                        NotBeforeTimeout = "PT5M",
                    },
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				ScheduledEventsProfile: &compute.ScheduledEventsProfileArgs{
    					TerminateNotificationProfile: &compute.TerminateNotificationProfileArgs{
    						Enable:           pulumi.Bool(true),
    						NotBeforeTimeout: pulumi.String("PT5M"),
    					},
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        scheduled_events_profile = {
          terminate_notification_profile = {
            enable             = true
            not_before_timeout = "PT5M"
          }
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ScheduledEventsProfileArgs;
    import com.pulumi.azurenative.compute.inputs.TerminateNotificationProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .scheduledEventsProfile(ScheduledEventsProfileArgs.builder()
                        .terminateNotificationProfile(TerminateNotificationProfileArgs.builder()
                            .enable(true)
                            .notBeforeTimeout("PT5M")
                            .build())
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            scheduledEventsProfile: {
                terminateNotificationProfile: {
                    enable: true,
                    notBeforeTimeout: "PT5M",
                },
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "scheduled_events_profile": {
                "terminate_notification_profile": {
                    "enable": True,
                    "not_before_timeout": "PT5M",
                },
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            scheduledEventsProfile:
              terminateNotificationProfile:
                enable: true
                notBeforeTimeout: PT5M
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with userData.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
                UserData = "RXhhbXBsZSBVc2VyRGF0YQ==",
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    				UserData: pulumi.String("RXhhbXBsZSBVc2VyRGF0YQ=="),
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
        user_data = "RXhhbXBsZSBVc2VyRGF0YQ=="
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .userData("RXhhbXBsZSBVc2VyRGF0YQ==")
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
            userData: "RXhhbXBsZSBVc2VyRGF0YQ==",
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
            "user_data": "RXhhbXBsZSBVc2VyRGF0YQ==",
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
            userData: RXhhbXBsZSBVc2VyRGF0YQ==
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with virtual machines in different zones.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "centralus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 2,
                Name = "Standard_A1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Automatic,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    DataDisks = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDiskArgs
                        {
                            CreateOption = AzureNative.Compute.DiskCreateOptionTypes.Empty,
                            DiskSizeGB = 1023,
                            Lun = 0,
                        },
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDiskArgs
                        {
                            CreateOption = AzureNative.Compute.DiskCreateOptionTypes.Empty,
                            DiskSizeGB = 1023,
                            Lun = 1,
                        },
                    },
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        DiskSizeGB = 512,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
            Zones = new[]
            {
                "1",
                "3",
            },
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("centralus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(2),
    				Name:     pulumi.String("Standard_A1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeAutomatic,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					DataDisks: compute.VirtualMachineScaleSetDataDiskArray{
    						&compute.VirtualMachineScaleSetDataDiskArgs{
    							CreateOption: pulumi.String(compute.DiskCreateOptionTypesEmpty),
    							DiskSizeGB:   pulumi.Int(1023),
    							Lun:          pulumi.Int(0),
    						},
    						&compute.VirtualMachineScaleSetDataDiskArgs{
    							CreateOption: pulumi.String(compute.DiskCreateOptionTypesEmpty),
    							DiskSizeGB:   pulumi.Int(1023),
    							Lun:          pulumi.Int(1),
    						},
    					},
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						DiskSizeGB:   pulumi.Int(512),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    			Zones: pulumi.StringArray{
    				pulumi.String("1"),
    				pulumi.String("3"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "centralus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 2
        name     = "Standard_A1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Automatic"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          data_disks = [{
            "createOption" = "Empty"
            "diskSizeGB"   = 1023
            "lun"          = 0
            }, {
            "createOption" = "Empty"
            "diskSizeGB"   = 1023
            "lun"          = 1
          }]
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            disk_size_gb  = 512
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
      zones             = ["1", "3"]
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("centralus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(2.0)
                    .name("Standard_A1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Automatic")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .dataDisks(                    
                            VirtualMachineScaleSetDataDiskArgs.builder()
                                .createOption("Empty")
                                .diskSizeGB(1023)
                                .lun(0)
                                .build(),
                            VirtualMachineScaleSetDataDiskArgs.builder()
                                .createOption("Empty")
                                .diskSizeGB(1023)
                                .lun(1)
                                .build())
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .diskSizeGB(512)
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .zones(            
                    "1",
                    "3")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "centralus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 2,
            name: "Standard_A1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Automatic,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                dataDisks: [
                    {
                        createOption: azure_native.compute.DiskCreateOptionTypes.Empty,
                        diskSizeGB: 1023,
                        lun: 0,
                    },
                    {
                        createOption: azure_native.compute.DiskCreateOptionTypes.Empty,
                        diskSizeGB: 1023,
                        lun: 1,
                    },
                ],
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    diskSizeGB: 512,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
        zones: [
            "1",
            "3",
        ],
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="centralus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(2),
            "name": "Standard_A1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.AUTOMATIC,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "data_disks": [
                    {
                        "create_option": azure_native.compute.DiskCreateOptionTypes.EMPTY,
                        "disk_size_gb": 1023,
                        "lun": 0,
                    },
                    {
                        "create_option": azure_native.compute.DiskCreateOptionTypes.EMPTY,
                        "disk_size_gb": 1023,
                        "lun": 1,
                    },
                ],
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "disk_size_gb": 512,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}",
        zones=[
            "1",
            "3",
        ])
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: centralus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 2
            name: Standard_A1_v2
            tier: Standard
          upgradePolicy:
            mode: Automatic
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              dataDisks:
                - createOption: Empty
                  diskSizeGB: 1023
                  lun: 0
                - createOption: Empty
                  diskSizeGB: 1023
                  lun: 1
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                diskSizeGB: 512
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
          zones:
            - '1'
            - '3'
    

    Create a scale set with vm size properties

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                HardwareProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetHardwareProfileArgs
                {
                    VmSizeProperties = new AzureNative.Compute.Inputs.VMSizePropertiesArgs
                    {
                        VCPUsAvailable = 1,
                        VCPUsPerCore = 1,
                    },
                },
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
                UserData = "RXhhbXBsZSBVc2VyRGF0YQ==",
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				HardwareProfile: &compute.VirtualMachineScaleSetHardwareProfileArgs{
    					VmSizeProperties: &compute.VMSizePropertiesArgs{
    						VCPUsAvailable: pulumi.Int(1),
    						VCPUsPerCore:   pulumi.Int(1),
    					},
    				},
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    				UserData: pulumi.String("RXhhbXBsZSBVc2VyRGF0YQ=="),
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        hardware_profile = {
          vm_size_properties = {
            v_cp_us_available = 1
            v_cp_us_per_core  = 1
          }
        }
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
        user_data = "RXhhbXBsZSBVc2VyRGF0YQ=="
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetHardwareProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VMSizePropertiesArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .hardwareProfile(VirtualMachineScaleSetHardwareProfileArgs.builder()
                        .vmSizeProperties(VMSizePropertiesArgs.builder()
                            .vCPUsAvailable(1)
                            .vCPUsPerCore(1)
                            .build())
                        .build())
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .userData("RXhhbXBsZSBVc2VyRGF0YQ==")
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            hardwareProfile: {
                vmSizeProperties: {
                    vCPUsAvailable: 1,
                    vCPUsPerCore: 1,
                },
            },
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
            userData: "RXhhbXBsZSBVc2VyRGF0YQ==",
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "hardware_profile": {
                "vm_size_properties": {
                    "v_cpus_available": 1,
                    "v_cpus_per_core": 1,
                },
            },
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
            "user_data": "RXhhbXBsZSBVc2VyRGF0YQ==",
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            hardwareProfile:
              vmSizeProperties:
                vCPUsAvailable: 1
                vCPUsPerCore: 1
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
            userData: RXhhbXBsZSBVc2VyRGF0YQ==
          vmScaleSetName: '{vmss-name}'
    

    Create a scale set with zonalPlatformFaultDomainAlignMode as Aligned

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            ScheduledEventsPolicy = new AzureNative.Compute.Inputs.ScheduledEventsPolicyArgs
            {
                ScheduledEventsAdditionalPublishingTargets = new AzureNative.Compute.Inputs.ScheduledEventsAdditionalPublishingTargetsArgs
                {
                    EventGridAndResourceGraph = new AzureNative.Compute.Inputs.EventGridAndResourceGraphArgs
                    {
                        Enable = true,
                    },
                },
                UserInitiatedReboot = new AzureNative.Compute.Inputs.UserInitiatedRebootArgs
                {
                    AutomaticallyApprove = true,
                },
                UserInitiatedRedeploy = new AzureNative.Compute.Inputs.UserInitiatedRedeployArgs
                {
                    AutomaticallyApprove = true,
                },
            },
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_D1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
            ZonalPlatformFaultDomainAlignMode = AzureNative.Compute.ZonalPlatformFaultDomainAlignMode.Aligned,
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			ScheduledEventsPolicy: &compute.ScheduledEventsPolicyArgs{
    				ScheduledEventsAdditionalPublishingTargets: &compute.ScheduledEventsAdditionalPublishingTargetsArgs{
    					EventGridAndResourceGraph: &compute.EventGridAndResourceGraphArgs{
    						Enable: pulumi.Bool(true),
    					},
    				},
    				UserInitiatedReboot: &compute.UserInitiatedRebootArgs{
    					AutomaticallyApprove: pulumi.Bool(true),
    				},
    				UserInitiatedRedeploy: &compute.UserInitiatedRedeployArgs{
    					AutomaticallyApprove: pulumi.Bool(true),
    				},
    			},
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_D1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName:                    pulumi.String("{vmss-name}"),
    			ZonalPlatformFaultDomainAlignMode: pulumi.String(compute.ZonalPlatformFaultDomainAlignModeAligned),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      scheduled_events_policy = {
        scheduled_events_additional_publishing_targets = {
          event_grid_and_resource_graph = {
            enable = true
          }
        }
        user_initiated_reboot = {
          automatically_approve = true
        }
        user_initiated_redeploy = {
          automatically_approve = true
        }
      }
      sku = {
        capacity = 3
        name     = "Standard_D1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name                      = "{vmss-name}"
      zonal_platform_fault_domain_align_mode = "Aligned"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.ScheduledEventsPolicyArgs;
    import com.pulumi.azurenative.compute.inputs.ScheduledEventsAdditionalPublishingTargetsArgs;
    import com.pulumi.azurenative.compute.inputs.EventGridAndResourceGraphArgs;
    import com.pulumi.azurenative.compute.inputs.UserInitiatedRebootArgs;
    import com.pulumi.azurenative.compute.inputs.UserInitiatedRedeployArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .scheduledEventsPolicy(ScheduledEventsPolicyArgs.builder()
                    .scheduledEventsAdditionalPublishingTargets(ScheduledEventsAdditionalPublishingTargetsArgs.builder()
                        .eventGridAndResourceGraph(EventGridAndResourceGraphArgs.builder()
                            .enable(true)
                            .build())
                        .build())
                    .userInitiatedReboot(UserInitiatedRebootArgs.builder()
                        .automaticallyApprove(true)
                        .build())
                    .userInitiatedRedeploy(UserInitiatedRedeployArgs.builder()
                        .automaticallyApprove(true)
                        .build())
                    .build())
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_D1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .zonalPlatformFaultDomainAlignMode("Aligned")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        scheduledEventsPolicy: {
            scheduledEventsAdditionalPublishingTargets: {
                eventGridAndResourceGraph: {
                    enable: true,
                },
            },
            userInitiatedReboot: {
                automaticallyApprove: true,
            },
            userInitiatedRedeploy: {
                automaticallyApprove: true,
            },
        },
        sku: {
            capacity: 3,
            name: "Standard_D1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
        zonalPlatformFaultDomainAlignMode: azure_native.compute.ZonalPlatformFaultDomainAlignMode.Aligned,
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        scheduled_events_policy={
            "scheduled_events_additional_publishing_targets": {
                "event_grid_and_resource_graph": {
                    "enable": True,
                },
            },
            "user_initiated_reboot": {
                "automatically_approve": True,
            },
            "user_initiated_redeploy": {
                "automatically_approve": True,
            },
        },
        sku={
            "capacity": float(3),
            "name": "Standard_D1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}",
        zonal_platform_fault_domain_align_mode=azure_native.compute.ZonalPlatformFaultDomainAlignMode.ALIGNED)
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          scheduledEventsPolicy:
            scheduledEventsAdditionalPublishingTargets:
              eventGridAndResourceGraph:
                enable: true
            userInitiatedReboot:
              automaticallyApprove: true
            userInitiatedRedeploy:
              automaticallyApprove: true
          sku:
            capacity: 3
            name: Standard_D1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
          zonalPlatformFaultDomainAlignMode: Aligned
    

    Create or update a scale set with capacity reservation.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var virtualMachineScaleSet = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSet", new()
        {
            Location = "westus",
            Overprovision = true,
            ResourceGroupName = "myResourceGroup",
            Sku = new AzureNative.Compute.Inputs.SkuArgs
            {
                Capacity = 3,
                Name = "Standard_DS1_v2",
                Tier = "Standard",
            },
            UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
            {
                Mode = AzureNative.Compute.UpgradeMode.Manual,
            },
            VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
            {
                CapacityReservation = new AzureNative.Compute.Inputs.CapacityReservationProfileArgs
                {
                    CapacityReservationGroup = new AzureNative.Compute.Inputs.SubResourceArgs
                    {
                        Id = "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}",
                    },
                },
                NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
                {
                    NetworkInterfaceConfigurations = new[]
                    {
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                        {
                            EnableIPForwarding = true,
                            IpConfigurations = new[]
                            {
                                new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                                {
                                    Name = "{vmss-name}",
                                    Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                    {
                                        Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                                    },
                                },
                            },
                            Name = "{vmss-name}",
                            Primary = true,
                        },
                    },
                },
                OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
                {
                    AdminPassword = "{your-password}",
                    AdminUsername = "{your-username}",
                    ComputerNamePrefix = "{vmss-name}",
                },
                StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
                {
                    ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                    {
                        Offer = "WindowsServer",
                        Publisher = "MicrosoftWindowsServer",
                        Sku = "2016-Datacenter",
                        Version = "latest",
                    },
                    OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                    {
                        Caching = AzureNative.Compute.CachingTypes.ReadWrite,
                        CreateOption = AzureNative.Compute.DiskCreateOptionTypes.FromImage,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = AzureNative.Compute.StorageAccountTypes.Standard_LRS,
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    
    package main
    
    import (
    	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSet", &compute.VirtualMachineScaleSetArgs{
    			Location:          pulumi.String("westus"),
    			Overprovision:     pulumi.Bool(true),
    			ResourceGroupName: pulumi.String("myResourceGroup"),
    			Sku: &compute.SkuArgs{
    				Capacity: pulumi.Float64(3),
    				Name:     pulumi.String("Standard_DS1_v2"),
    				Tier:     pulumi.String("Standard"),
    			},
    			UpgradePolicy: &compute.UpgradePolicyArgs{
    				Mode: compute.UpgradeModeManual,
    			},
    			VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    				CapacityReservation: &compute.CapacityReservationProfileArgs{
    					CapacityReservationGroup: &compute.SubResourceArgs{
    						Id: pulumi.String("subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"),
    					},
    				},
    				NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    					NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    						&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    							EnableIPForwarding: pulumi.Bool(true),
    							IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    								&compute.VirtualMachineScaleSetIPConfigurationArgs{
    									Name: pulumi.String("{vmss-name}"),
    									Subnet: &compute.ApiEntityReferenceArgs{
    										Id: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"),
    									},
    								},
    							},
    							Name:    pulumi.String("{vmss-name}"),
    							Primary: pulumi.Bool(true),
    						},
    					},
    				},
    				OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    					AdminPassword:      pulumi.String("{your-password}"),
    					AdminUsername:      pulumi.String("{your-username}"),
    					ComputerNamePrefix: pulumi.String("{vmss-name}"),
    				},
    				StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    					ImageReference: &compute.ImageReferenceArgs{
    						Offer:     pulumi.String("WindowsServer"),
    						Publisher: pulumi.String("MicrosoftWindowsServer"),
    						Sku:       pulumi.String("2016-Datacenter"),
    						Version:   pulumi.String("latest"),
    					},
    					OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    						Caching:      compute.CachingTypesReadWrite,
    						CreateOption: pulumi.String(compute.DiskCreateOptionTypesFromImage),
    						ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    							StorageAccountType: pulumi.String(compute.StorageAccountTypes_Standard_LRS),
    						},
    					},
    				},
    			},
    			VmScaleSetName: pulumi.String("{vmss-name}"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    pulumi {
      required_providers {
        azure-native = {
          source = "pulumi/azure-native"
        }
      }
    }
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSet" {
      location            = "westus"
      overprovision       = true
      resource_group_name = "myResourceGroup"
      sku = {
        capacity = 3
        name     = "Standard_DS1_v2"
        tier     = "Standard"
      }
      upgrade_policy = {
        mode = "Manual"
      }
      virtual_machine_profile = {
        capacity_reservation = {
          capacity_reservation_group = {
            id = "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}"
          }
        }
        network_profile = {
          network_interface_configurations = [{
            "enableIPForwarding" = true
            "ipConfigurations" = [{
              "name" = "{vmss-name}"
              "subnet" = {
                "id" = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
              }
            }]
            "name"    = "{vmss-name}"
            "primary" = true
          }]
        }
        os_profile = {
          admin_password       = "{your-password}"
          admin_username       = "{your-username}"
          computer_name_prefix = "{vmss-name}"
        }
        storage_profile = {
          image_reference = {
            offer     = "WindowsServer"
            publisher = "MicrosoftWindowsServer"
            sku       = "2016-Datacenter"
            version   = "latest"
          }
          os_disk = {
            caching       = "ReadWrite"
            create_option = "FromImage"
            managed_disk = {
              storage_account_type = "Standard_LRS"
            }
          }
        }
      }
      vm_scale_set_name = "{vmss-name}"
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSet;
    import com.pulumi.azurenative.compute.VirtualMachineScaleSetArgs;
    import com.pulumi.azurenative.compute.inputs.SkuArgs;
    import com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetVMProfileArgs;
    import com.pulumi.azurenative.compute.inputs.CapacityReservationProfileArgs;
    import com.pulumi.azurenative.compute.inputs.SubResourceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs;
    import com.pulumi.azurenative.compute.inputs.ImageReferenceArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs;
    import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    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 virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(SkuArgs.builder()
                    .capacity(3.0)
                    .name("Standard_DS1_v2")
                    .tier("Standard")
                    .build())
                .upgradePolicy(UpgradePolicyArgs.builder()
                    .mode("Manual")
                    .build())
                .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
                    .capacityReservation(CapacityReservationProfileArgs.builder()
                        .capacityReservationGroup(SubResourceArgs.builder()
                            .id("subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}")
                            .build())
                        .build())
                    .networkProfile(VirtualMachineScaleSetNetworkProfileArgs.builder()
                        .networkInterfaceConfigurations(VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                            .enableIPForwarding(true)
                            .ipConfigurations(VirtualMachineScaleSetIPConfigurationArgs.builder()
                                .name("{vmss-name}")
                                .subnet(ApiEntityReferenceArgs.builder()
                                    .id("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}")
                                    .build())
                                .build())
                            .name("{vmss-name}")
                            .primary(true)
                            .build())
                        .build())
                    .osProfile(VirtualMachineScaleSetOSProfileArgs.builder()
                        .adminPassword("{your-password}")
                        .adminUsername("{your-username}")
                        .computerNamePrefix("{vmss-name}")
                        .build())
                    .storageProfile(VirtualMachineScaleSetStorageProfileArgs.builder()
                        .imageReference(ImageReferenceArgs.builder()
                            .offer("WindowsServer")
                            .publisher("MicrosoftWindowsServer")
                            .sku("2016-Datacenter")
                            .version("latest")
                            .build())
                        .osDisk(VirtualMachineScaleSetOSDiskArgs.builder()
                            .caching("ReadWrite")
                            .createOption("FromImage")
                            .managedDisk(VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                                .storageAccountType("Standard_LRS")
                                .build())
                            .build())
                        .build())
                    .build())
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const virtualMachineScaleSet = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet", {
        location: "westus",
        overprovision: true,
        resourceGroupName: "myResourceGroup",
        sku: {
            capacity: 3,
            name: "Standard_DS1_v2",
            tier: "Standard",
        },
        upgradePolicy: {
            mode: azure_native.compute.UpgradeMode.Manual,
        },
        virtualMachineProfile: {
            capacityReservation: {
                capacityReservationGroup: {
                    id: "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}",
                },
            },
            networkProfile: {
                networkInterfaceConfigurations: [{
                    enableIPForwarding: true,
                    ipConfigurations: [{
                        name: "{vmss-name}",
                        subnet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    name: "{vmss-name}",
                    primary: true,
                }],
            },
            osProfile: {
                adminPassword: "{your-password}",
                adminUsername: "{your-username}",
                computerNamePrefix: "{vmss-name}",
            },
            storageProfile: {
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: azure_native.compute.DiskCreateOptionTypes.FromImage,
                    managedDisk: {
                        storageAccountType: azure_native.compute.StorageAccountTypes.Standard_LRS,
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku={
            "capacity": float(3),
            "name": "Standard_DS1_v2",
            "tier": "Standard",
        },
        upgrade_policy={
            "mode": azure_native.compute.UpgradeMode.MANUAL,
        },
        virtual_machine_profile={
            "capacity_reservation": {
                "capacity_reservation_group": {
                    "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}",
                },
            },
            "network_profile": {
                "network_interface_configurations": [{
                    "enable_ip_forwarding": True,
                    "ip_configurations": [{
                        "name": "{vmss-name}",
                        "subnet": {
                            "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}",
                        },
                    }],
                    "name": "{vmss-name}",
                    "primary": True,
                }],
            },
            "os_profile": {
                "admin_password": "{your-password}",
                "admin_username": "{your-username}",
                "computer_name_prefix": "{vmss-name}",
            },
            "storage_profile": {
                "image_reference": {
                    "offer": "WindowsServer",
                    "publisher": "MicrosoftWindowsServer",
                    "sku": "2016-Datacenter",
                    "version": "latest",
                },
                "os_disk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "create_option": azure_native.compute.DiskCreateOptionTypes.FROM_IMAGE,
                    "managed_disk": {
                        "storage_account_type": azure_native.compute.StorageAccountTypes.STANDARD_LRS,
                    },
                },
            },
        },
        vm_scale_set_name="{vmss-name}")
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          location: westus
          overprovision: true
          resourceGroupName: myResourceGroup
          sku:
            capacity: 3
            name: Standard_DS1_v2
            tier: Standard
          upgradePolicy:
            mode: Manual
          virtualMachineProfile:
            capacityReservation:
              capacityReservationGroup:
                id: subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/CapacityReservationGroups/{crgName}
            networkProfile:
              networkInterfaceConfigurations:
                - enableIPForwarding: true
                  ipConfigurations:
                    - name: '{vmss-name}'
                      subnet:
                        id: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}
                  name: '{vmss-name}'
                  primary: true
            osProfile:
              adminPassword: '{your-password}'
              adminUsername: '{your-username}'
              computerNamePrefix: '{vmss-name}'
            storageProfile:
              imageReference:
                offer: WindowsServer
                publisher: MicrosoftWindowsServer
                sku: 2016-Datacenter
                version: latest
              osDisk:
                caching: ReadWrite
                createOption: FromImage
                managedDisk:
                  storageAccountType: Standard_LRS
          vmScaleSetName: '{vmss-name}'
    

    Create VirtualMachineScaleSet Resource

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

    Constructor syntax

    new VirtualMachineScaleSet(name: string, args: VirtualMachineScaleSetArgs, opts?: CustomResourceOptions);
    @overload
    def VirtualMachineScaleSet(resource_name: str,
                               args: VirtualMachineScaleSetArgs,
                               opts: Optional[ResourceOptions] = None)
    
    @overload
    def VirtualMachineScaleSet(resource_name: str,
                               opts: Optional[ResourceOptions] = None,
                               resource_group_name: Optional[str] = None,
                               resiliency_policy: Optional[ResiliencyPolicyArgs] = None,
                               virtual_machine_profile: Optional[VirtualMachineScaleSetVMProfileArgs] = None,
                               do_not_run_extensions_on_overprovisioned_vms: Optional[bool] = None,
                               extended_location: Optional[ExtendedLocationArgs] = None,
                               automatic_repairs_policy: Optional[AutomaticRepairsPolicyArgs] = None,
                               identity: Optional[VirtualMachineScaleSetIdentityArgs] = None,
                               location: Optional[str] = None,
                               orchestration_mode: Optional[Union[str, OrchestrationMode]] = None,
                               overprovision: Optional[bool] = None,
                               plan: Optional[PlanArgs] = None,
                               platform_fault_domain_count: Optional[int] = None,
                               priority_mix_policy: Optional[PriorityMixPolicyArgs] = None,
                               constrained_maximum_capacity: Optional[bool] = None,
                               proximity_placement_group: Optional[SubResourceArgs] = None,
                               host_group: Optional[SubResourceArgs] = None,
                               scale_in_policy: Optional[ScaleInPolicyArgs] = None,
                               scheduled_events_policy: Optional[ScheduledEventsPolicyArgs] = None,
                               single_placement_group: Optional[bool] = None,
                               sku: Optional[SkuArgs] = None,
                               sku_profile: Optional[SkuProfileArgs] = None,
                               spot_restore_policy: Optional[SpotRestorePolicyArgs] = None,
                               tags: Optional[Mapping[str, str]] = None,
                               upgrade_policy: Optional[UpgradePolicyArgs] = None,
                               additional_capabilities: Optional[AdditionalCapabilitiesArgs] = None,
                               vm_scale_set_name: Optional[str] = None,
                               zonal_platform_fault_domain_align_mode: Optional[Union[str, ZonalPlatformFaultDomainAlignMode]] = None,
                               zone_balance: Optional[bool] = None,
                               zones: Optional[Sequence[str]] = None)
    func NewVirtualMachineScaleSet(ctx *Context, name string, args VirtualMachineScaleSetArgs, opts ...ResourceOption) (*VirtualMachineScaleSet, error)
    public VirtualMachineScaleSet(string name, VirtualMachineScaleSetArgs args, CustomResourceOptions? opts = null)
    public VirtualMachineScaleSet(String name, VirtualMachineScaleSetArgs args)
    public VirtualMachineScaleSet(String name, VirtualMachineScaleSetArgs args, CustomResourceOptions options)
    
    type: azure-native:compute:VirtualMachineScaleSet
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "azure-native_compute_virtualmachinescaleset" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args VirtualMachineScaleSetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args VirtualMachineScaleSetArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args VirtualMachineScaleSetArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VirtualMachineScaleSetArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VirtualMachineScaleSetArgs
    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 virtualMachineScaleSetResource = new AzureNative.Compute.VirtualMachineScaleSet("virtualMachineScaleSetResource", new()
    {
        ResourceGroupName = "string",
        ResiliencyPolicy = new AzureNative.Compute.Inputs.ResiliencyPolicyArgs
        {
            AutomaticZoneRebalancingPolicy = new AzureNative.Compute.Inputs.AutomaticZoneRebalancingPolicyArgs
            {
                Enabled = false,
                RebalanceBehavior = "string",
                RebalanceStrategy = "string",
            },
            ResilientVMCreationPolicy = new AzureNative.Compute.Inputs.ResilientVMCreationPolicyArgs
            {
                Enabled = false,
            },
            ResilientVMDeletionPolicy = new AzureNative.Compute.Inputs.ResilientVMDeletionPolicyArgs
            {
                Enabled = false,
            },
        },
        VirtualMachineProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfileArgs
        {
            ApplicationProfile = new AzureNative.Compute.Inputs.ApplicationProfileArgs
            {
                GalleryApplications = new[]
                {
                    new AzureNative.Compute.Inputs.VMGalleryApplicationArgs
                    {
                        PackageReferenceId = "string",
                        ConfigurationReference = "string",
                        EnableAutomaticUpgrade = false,
                        Order = 0,
                        Tags = "string",
                        TreatFailureAsDeploymentFailure = false,
                    },
                },
            },
            BillingProfile = new AzureNative.Compute.Inputs.BillingProfileArgs
            {
                MaxPrice = 0,
            },
            CapacityReservation = new AzureNative.Compute.Inputs.CapacityReservationProfileArgs
            {
                CapacityReservationGroup = new AzureNative.Compute.Inputs.SubResourceArgs
                {
                    Id = "string",
                },
            },
            DiagnosticsProfile = new AzureNative.Compute.Inputs.DiagnosticsProfileArgs
            {
                BootDiagnostics = new AzureNative.Compute.Inputs.BootDiagnosticsArgs
                {
                    Enabled = false,
                    StorageUri = "string",
                },
            },
            EvictionPolicy = "string",
            ExtensionProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionProfileArgs
            {
                Extensions = new[]
                {
                    new AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionArgs
                    {
                        AutoUpgradeMinorVersion = false,
                        EnableAutomaticUpgrade = false,
                        ForceUpdateTag = "string",
                        Name = "string",
                        ProtectedSettings = "any",
                        ProtectedSettingsFromKeyVault = new AzureNative.Compute.Inputs.KeyVaultSecretReferenceArgs
                        {
                            SecretUrl = "string",
                            SourceVault = new AzureNative.Compute.Inputs.SubResourceArgs
                            {
                                Id = "string",
                            },
                        },
                        ProvisionAfterExtensions = new[]
                        {
                            "string",
                        },
                        Publisher = "string",
                        Settings = "any",
                        SuppressFailures = false,
                        Type = "string",
                        TypeHandlerVersion = "string",
                    },
                },
                ExtensionsTimeBudget = "string",
            },
            HardwareProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetHardwareProfileArgs
            {
                VmSizeProperties = new AzureNative.Compute.Inputs.VMSizePropertiesArgs
                {
                    VCPUsAvailable = 0,
                    VCPUsPerCore = 0,
                },
            },
            LicenseType = "string",
            NetworkProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileArgs
            {
                HealthProbe = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                {
                    Id = "string",
                },
                NetworkApiVersion = "string",
                NetworkInterfaceConfigurations = new[]
                {
                    new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationArgs
                    {
                        IpConfigurations = new[]
                        {
                            new AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationArgs
                            {
                                Name = "string",
                                ApplicationGatewayBackendAddressPools = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "string",
                                    },
                                },
                                ApplicationSecurityGroups = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "string",
                                    },
                                },
                                LoadBalancerBackendAddressPools = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "string",
                                    },
                                },
                                LoadBalancerInboundNatPools = new[]
                                {
                                    new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "string",
                                    },
                                },
                                Primary = false,
                                PrivateIPAddressVersion = "string",
                                PublicIPAddressConfiguration = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationArgs
                                {
                                    Name = "string",
                                    DeleteOption = "string",
                                    DnsSettings = new AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs
                                    {
                                        DomainNameLabel = "string",
                                        DomainNameLabelScope = "string",
                                    },
                                    IdleTimeoutInMinutes = 0,
                                    IpTags = new[]
                                    {
                                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetIpTagArgs
                                        {
                                            IpTagType = "string",
                                            Tag = "string",
                                        },
                                    },
                                    PublicIPAddressVersion = "string",
                                    PublicIPPrefix = new AzureNative.Compute.Inputs.SubResourceArgs
                                    {
                                        Id = "string",
                                    },
                                    Sku = new AzureNative.Compute.Inputs.PublicIPAddressSkuArgs
                                    {
                                        Name = "string",
                                        Tier = "string",
                                    },
                                },
                                Subnet = new AzureNative.Compute.Inputs.ApiEntityReferenceArgs
                                {
                                    Id = "string",
                                },
                            },
                        },
                        Name = "string",
                        AuxiliaryMode = "string",
                        AuxiliarySku = "string",
                        DeleteOption = "string",
                        DisableTcpStateTracking = false,
                        DnsSettings = new AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs
                        {
                            DnsServers = new[]
                            {
                                "string",
                            },
                        },
                        EnableAcceleratedNetworking = false,
                        EnableFpga = false,
                        EnableIPForwarding = false,
                        NetworkSecurityGroup = new AzureNative.Compute.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                        Primary = false,
                    },
                },
            },
            OsProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileArgs
            {
                AdminPassword = "string",
                AdminUsername = "string",
                AllowExtensionOperations = false,
                ComputerNamePrefix = "string",
                CustomData = "string",
                LinuxConfiguration = new AzureNative.Compute.Inputs.LinuxConfigurationArgs
                {
                    DisablePasswordAuthentication = false,
                    EnableVMAgentPlatformUpdates = false,
                    PatchSettings = new AzureNative.Compute.Inputs.LinuxPatchSettingsArgs
                    {
                        AssessmentMode = "string",
                        AutomaticByPlatformSettings = new AzureNative.Compute.Inputs.LinuxVMGuestPatchAutomaticByPlatformSettingsArgs
                        {
                            BypassPlatformSafetyChecksOnUserSchedule = false,
                            RebootSetting = "string",
                        },
                        PatchMode = "string",
                    },
                    ProvisionVMAgent = false,
                    Ssh = new AzureNative.Compute.Inputs.SshConfigurationArgs
                    {
                        PublicKeys = new[]
                        {
                            new AzureNative.Compute.Inputs.SshPublicKeyArgs
                            {
                                KeyData = "string",
                                Path = "string",
                            },
                        },
                    },
                },
                RequireGuestProvisionSignal = false,
                Secrets = new[]
                {
                    new AzureNative.Compute.Inputs.VaultSecretGroupArgs
                    {
                        SourceVault = new AzureNative.Compute.Inputs.SubResourceArgs
                        {
                            Id = "string",
                        },
                        VaultCertificates = new[]
                        {
                            new AzureNative.Compute.Inputs.VaultCertificateArgs
                            {
                                CertificateStore = "string",
                                CertificateUrl = "string",
                            },
                        },
                    },
                },
                WindowsConfiguration = new AzureNative.Compute.Inputs.WindowsConfigurationArgs
                {
                    AdditionalUnattendContent = new[]
                    {
                        new AzureNative.Compute.Inputs.AdditionalUnattendContentArgs
                        {
                            ComponentName = AzureNative.Compute.ComponentName.Microsoft_Windows_Shell_Setup,
                            Content = "string",
                            PassName = AzureNative.Compute.PassName.OobeSystem,
                            SettingName = AzureNative.Compute.SettingNames.AutoLogon,
                        },
                    },
                    EnableAutomaticUpdates = false,
                    PatchSettings = new AzureNative.Compute.Inputs.PatchSettingsArgs
                    {
                        AssessmentMode = "string",
                        AutomaticByPlatformSettings = new AzureNative.Compute.Inputs.WindowsVMGuestPatchAutomaticByPlatformSettingsArgs
                        {
                            BypassPlatformSafetyChecksOnUserSchedule = false,
                            RebootSetting = "string",
                        },
                        EnableHotpatching = false,
                        PatchMode = "string",
                    },
                    ProvisionVMAgent = false,
                    TimeZone = "string",
                    WinRM = new AzureNative.Compute.Inputs.WinRMConfigurationArgs
                    {
                        Listeners = new[]
                        {
                            new AzureNative.Compute.Inputs.WinRMListenerArgs
                            {
                                CertificateUrl = "string",
                                Protocol = AzureNative.Compute.ProtocolTypes.Http,
                            },
                        },
                    },
                },
            },
            Priority = "string",
            ScheduledEventsProfile = new AzureNative.Compute.Inputs.ScheduledEventsProfileArgs
            {
                OsImageNotificationProfile = new AzureNative.Compute.Inputs.OSImageNotificationProfileArgs
                {
                    Enable = false,
                    NotBeforeTimeout = "string",
                },
                TerminateNotificationProfile = new AzureNative.Compute.Inputs.TerminateNotificationProfileArgs
                {
                    Enable = false,
                    NotBeforeTimeout = "string",
                },
            },
            SecurityPostureReference = new AzureNative.Compute.Inputs.SecurityPostureReferenceArgs
            {
                Id = "string",
                ExcludeExtensions = new[]
                {
                    "string",
                },
                IsOverridable = false,
            },
            SecurityProfile = new AzureNative.Compute.Inputs.SecurityProfileArgs
            {
                EncryptionAtHost = false,
                EncryptionIdentity = new AzureNative.Compute.Inputs.EncryptionIdentityArgs
                {
                    UserAssignedIdentityResourceId = "string",
                },
                ProxyAgentSettings = new AzureNative.Compute.Inputs.ProxyAgentSettingsArgs
                {
                    Enabled = false,
                    Imds = new AzureNative.Compute.Inputs.HostEndpointSettingsArgs
                    {
                        InVMAccessControlProfileReferenceId = "string",
                        Mode = "string",
                    },
                    KeyIncarnationId = 0,
                    Mode = "string",
                    WireServer = new AzureNative.Compute.Inputs.HostEndpointSettingsArgs
                    {
                        InVMAccessControlProfileReferenceId = "string",
                        Mode = "string",
                    },
                },
                SecurityType = "string",
                UefiSettings = new AzureNative.Compute.Inputs.UefiSettingsArgs
                {
                    SecureBootEnabled = false,
                    VTpmEnabled = false,
                },
            },
            ServiceArtifactReference = new AzureNative.Compute.Inputs.ServiceArtifactReferenceArgs
            {
                Id = "string",
            },
            StorageProfile = new AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileArgs
            {
                DataDisks = new[]
                {
                    new AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDiskArgs
                    {
                        CreateOption = "string",
                        Lun = 0,
                        Caching = AzureNative.Compute.CachingTypes.None,
                        DeleteOption = "string",
                        DiskIOPSReadWrite = 0,
                        DiskMBpsReadWrite = 0,
                        DiskSizeGB = 0,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                            {
                                Id = "string",
                            },
                            SecurityProfile = new AzureNative.Compute.Inputs.VMDiskSecurityProfileArgs
                            {
                                DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                                {
                                    Id = "string",
                                },
                                SecurityEncryptionType = "string",
                            },
                            StorageAccountType = "string",
                        },
                        Name = "string",
                        WriteAcceleratorEnabled = false,
                    },
                },
                DiskControllerType = "string",
                ImageReference = new AzureNative.Compute.Inputs.ImageReferenceArgs
                {
                    CommunityGalleryImageId = "string",
                    Id = "string",
                    Offer = "string",
                    Publisher = "string",
                    SharedGalleryImageId = "string",
                    Sku = "string",
                    Version = "string",
                },
                OsDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskArgs
                {
                    CreateOption = "string",
                    Caching = AzureNative.Compute.CachingTypes.None,
                    DeleteOption = "string",
                    DiffDiskSettings = new AzureNative.Compute.Inputs.DiffDiskSettingsArgs
                    {
                        Option = "string",
                        Placement = "string",
                    },
                    DiskSizeGB = 0,
                    Image = new AzureNative.Compute.Inputs.VirtualHardDiskArgs
                    {
                        Uri = "string",
                    },
                    ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                    {
                        DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                        {
                            Id = "string",
                        },
                        SecurityProfile = new AzureNative.Compute.Inputs.VMDiskSecurityProfileArgs
                        {
                            DiskEncryptionSet = new AzureNative.Compute.Inputs.DiskEncryptionSetParametersArgs
                            {
                                Id = "string",
                            },
                            SecurityEncryptionType = "string",
                        },
                        StorageAccountType = "string",
                    },
                    Name = "string",
                    OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
                    VhdContainers = new[]
                    {
                        "string",
                    },
                    WriteAcceleratorEnabled = false,
                },
            },
            UserData = "string",
        },
        DoNotRunExtensionsOnOverprovisionedVMs = false,
        ExtendedLocation = new AzureNative.Compute.Inputs.ExtendedLocationArgs
        {
            Name = "string",
            Type = "string",
        },
        AutomaticRepairsPolicy = new AzureNative.Compute.Inputs.AutomaticRepairsPolicyArgs
        {
            Enabled = false,
            GracePeriod = "string",
            RepairAction = "string",
        },
        Identity = new AzureNative.Compute.Inputs.VirtualMachineScaleSetIdentityArgs
        {
            Type = AzureNative.Compute.ResourceIdentityType.SystemAssigned,
            UserAssignedIdentities = new[]
            {
                "string",
            },
        },
        Location = "string",
        OrchestrationMode = "string",
        Overprovision = false,
        Plan = new AzureNative.Compute.Inputs.PlanArgs
        {
            Name = "string",
            Product = "string",
            PromotionCode = "string",
            Publisher = "string",
        },
        PlatformFaultDomainCount = 0,
        PriorityMixPolicy = new AzureNative.Compute.Inputs.PriorityMixPolicyArgs
        {
            BaseRegularPriorityCount = 0,
            RegularPriorityPercentageAboveBase = 0,
        },
        ConstrainedMaximumCapacity = false,
        ProximityPlacementGroup = new AzureNative.Compute.Inputs.SubResourceArgs
        {
            Id = "string",
        },
        HostGroup = new AzureNative.Compute.Inputs.SubResourceArgs
        {
            Id = "string",
        },
        ScaleInPolicy = new AzureNative.Compute.Inputs.ScaleInPolicyArgs
        {
            ForceDeletion = false,
            PrioritizeUnhealthyVMs = false,
            Rules = new[]
            {
                "string",
            },
        },
        ScheduledEventsPolicy = new AzureNative.Compute.Inputs.ScheduledEventsPolicyArgs
        {
            ScheduledEventsAdditionalPublishingTargets = new AzureNative.Compute.Inputs.ScheduledEventsAdditionalPublishingTargetsArgs
            {
                EventGridAndResourceGraph = new AzureNative.Compute.Inputs.EventGridAndResourceGraphArgs
                {
                    Enable = false,
                },
            },
            UserInitiatedReboot = new AzureNative.Compute.Inputs.UserInitiatedRebootArgs
            {
                AutomaticallyApprove = false,
            },
            UserInitiatedRedeploy = new AzureNative.Compute.Inputs.UserInitiatedRedeployArgs
            {
                AutomaticallyApprove = false,
            },
        },
        SinglePlacementGroup = false,
        Sku = new AzureNative.Compute.Inputs.SkuArgs
        {
            Capacity = 0,
            Name = "string",
            Tier = "string",
        },
        SkuProfile = new AzureNative.Compute.Inputs.SkuProfileArgs
        {
            AllocationStrategy = "string",
            VmSizes = new[]
            {
                new AzureNative.Compute.Inputs.SkuProfileVMSizeArgs
                {
                    Name = "string",
                    Rank = 0,
                },
            },
        },
        SpotRestorePolicy = new AzureNative.Compute.Inputs.SpotRestorePolicyArgs
        {
            Enabled = false,
            RestoreTimeout = "string",
        },
        Tags = 
        {
            { "string", "string" },
        },
        UpgradePolicy = new AzureNative.Compute.Inputs.UpgradePolicyArgs
        {
            AutomaticOSUpgradePolicy = new AzureNative.Compute.Inputs.AutomaticOSUpgradePolicyArgs
            {
                DisableAutomaticRollback = false,
                EnableAutomaticOSUpgrade = false,
                OsRollingUpgradeDeferral = false,
                UseRollingUpgradePolicy = false,
            },
            Mode = AzureNative.Compute.UpgradeMode.Automatic,
            RollingUpgradePolicy = new AzureNative.Compute.Inputs.RollingUpgradePolicyArgs
            {
                EnableCrossZoneUpgrade = false,
                MaxBatchInstancePercent = 0,
                MaxSurge = false,
                MaxUnhealthyInstancePercent = 0,
                MaxUnhealthyUpgradedInstancePercent = 0,
                PauseTimeBetweenBatches = "string",
                PrioritizeUnhealthyInstances = false,
                RollbackFailedInstancesOnPolicyBreach = false,
            },
        },
        AdditionalCapabilities = new AzureNative.Compute.Inputs.AdditionalCapabilitiesArgs
        {
            HibernationEnabled = false,
            UltraSSDEnabled = false,
        },
        VmScaleSetName = "string",
        ZonalPlatformFaultDomainAlignMode = "string",
        ZoneBalance = false,
        Zones = new[]
        {
            "string",
        },
    });
    
    example, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSetResource", &compute.VirtualMachineScaleSetArgs{
    	ResourceGroupName: pulumi.String("string"),
    	ResiliencyPolicy: &compute.ResiliencyPolicyArgs{
    		AutomaticZoneRebalancingPolicy: &compute.AutomaticZoneRebalancingPolicyArgs{
    			Enabled:           pulumi.Bool(false),
    			RebalanceBehavior: pulumi.String("string"),
    			RebalanceStrategy: pulumi.String("string"),
    		},
    		ResilientVMCreationPolicy: &compute.ResilientVMCreationPolicyArgs{
    			Enabled: pulumi.Bool(false),
    		},
    		ResilientVMDeletionPolicy: &compute.ResilientVMDeletionPolicyArgs{
    			Enabled: pulumi.Bool(false),
    		},
    	},
    	VirtualMachineProfile: &compute.VirtualMachineScaleSetVMProfileArgs{
    		ApplicationProfile: &compute.ApplicationProfileArgs{
    			GalleryApplications: compute.VMGalleryApplicationArray{
    				&compute.VMGalleryApplicationArgs{
    					PackageReferenceId:              pulumi.String("string"),
    					ConfigurationReference:          pulumi.String("string"),
    					EnableAutomaticUpgrade:          pulumi.Bool(false),
    					Order:                           pulumi.Int(0),
    					Tags:                            pulumi.String("string"),
    					TreatFailureAsDeploymentFailure: pulumi.Bool(false),
    				},
    			},
    		},
    		BillingProfile: &compute.BillingProfileArgs{
    			MaxPrice: pulumi.Float64(0),
    		},
    		CapacityReservation: &compute.CapacityReservationProfileArgs{
    			CapacityReservationGroup: &compute.SubResourceArgs{
    				Id: pulumi.String("string"),
    			},
    		},
    		DiagnosticsProfile: &compute.DiagnosticsProfileArgs{
    			BootDiagnostics: &compute.BootDiagnosticsArgs{
    				Enabled:    pulumi.Bool(false),
    				StorageUri: pulumi.String("string"),
    			},
    		},
    		EvictionPolicy: pulumi.String("string"),
    		ExtensionProfile: &compute.VirtualMachineScaleSetExtensionProfileArgs{
    			Extensions: compute.VirtualMachineScaleSetExtensionTypeArray{
    				&compute.VirtualMachineScaleSetExtensionTypeArgs{
    					AutoUpgradeMinorVersion: pulumi.Bool(false),
    					EnableAutomaticUpgrade:  pulumi.Bool(false),
    					ForceUpdateTag:          pulumi.String("string"),
    					Name:                    pulumi.String("string"),
    					ProtectedSettings:       pulumi.Any("any"),
    					ProtectedSettingsFromKeyVault: &compute.KeyVaultSecretReferenceArgs{
    						SecretUrl: pulumi.String("string"),
    						SourceVault: &compute.SubResourceArgs{
    							Id: pulumi.String("string"),
    						},
    					},
    					ProvisionAfterExtensions: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Publisher:          pulumi.String("string"),
    					Settings:           pulumi.Any("any"),
    					SuppressFailures:   pulumi.Bool(false),
    					Type:               pulumi.String("string"),
    					TypeHandlerVersion: pulumi.String("string"),
    				},
    			},
    			ExtensionsTimeBudget: pulumi.String("string"),
    		},
    		HardwareProfile: &compute.VirtualMachineScaleSetHardwareProfileArgs{
    			VmSizeProperties: &compute.VMSizePropertiesArgs{
    				VCPUsAvailable: pulumi.Int(0),
    				VCPUsPerCore:   pulumi.Int(0),
    			},
    		},
    		LicenseType: pulumi.String("string"),
    		NetworkProfile: &compute.VirtualMachineScaleSetNetworkProfileArgs{
    			HealthProbe: &compute.ApiEntityReferenceArgs{
    				Id: pulumi.String("string"),
    			},
    			NetworkApiVersion: pulumi.String("string"),
    			NetworkInterfaceConfigurations: compute.VirtualMachineScaleSetNetworkConfigurationArray{
    				&compute.VirtualMachineScaleSetNetworkConfigurationArgs{
    					IpConfigurations: compute.VirtualMachineScaleSetIPConfigurationArray{
    						&compute.VirtualMachineScaleSetIPConfigurationArgs{
    							Name: pulumi.String("string"),
    							ApplicationGatewayBackendAddressPools: compute.SubResourceArray{
    								&compute.SubResourceArgs{
    									Id: pulumi.String("string"),
    								},
    							},
    							ApplicationSecurityGroups: compute.SubResourceArray{
    								&compute.SubResourceArgs{
    									Id: pulumi.String("string"),
    								},
    							},
    							LoadBalancerBackendAddressPools: compute.SubResourceArray{
    								&compute.SubResourceArgs{
    									Id: pulumi.String("string"),
    								},
    							},
    							LoadBalancerInboundNatPools: compute.SubResourceArray{
    								&compute.SubResourceArgs{
    									Id: pulumi.String("string"),
    								},
    							},
    							Primary:                 pulumi.Bool(false),
    							PrivateIPAddressVersion: pulumi.String("string"),
    							PublicIPAddressConfiguration: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationArgs{
    								Name:         pulumi.String("string"),
    								DeleteOption: pulumi.String("string"),
    								DnsSettings: &compute.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs{
    									DomainNameLabel:      pulumi.String("string"),
    									DomainNameLabelScope: pulumi.String("string"),
    								},
    								IdleTimeoutInMinutes: pulumi.Int(0),
    								IpTags: compute.VirtualMachineScaleSetIpTagArray{
    									&compute.VirtualMachineScaleSetIpTagArgs{
    										IpTagType: pulumi.String("string"),
    										Tag:       pulumi.String("string"),
    									},
    								},
    								PublicIPAddressVersion: pulumi.String("string"),
    								PublicIPPrefix: &compute.SubResourceArgs{
    									Id: pulumi.String("string"),
    								},
    								Sku: &compute.PublicIPAddressSkuArgs{
    									Name: pulumi.String("string"),
    									Tier: pulumi.String("string"),
    								},
    							},
    							Subnet: &compute.ApiEntityReferenceArgs{
    								Id: pulumi.String("string"),
    							},
    						},
    					},
    					Name:                    pulumi.String("string"),
    					AuxiliaryMode:           pulumi.String("string"),
    					AuxiliarySku:            pulumi.String("string"),
    					DeleteOption:            pulumi.String("string"),
    					DisableTcpStateTracking: pulumi.Bool(false),
    					DnsSettings: &compute.VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs{
    						DnsServers: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					EnableAcceleratedNetworking: pulumi.Bool(false),
    					EnableFpga:                  pulumi.Bool(false),
    					EnableIPForwarding:          pulumi.Bool(false),
    					NetworkSecurityGroup: &compute.SubResourceArgs{
    						Id: pulumi.String("string"),
    					},
    					Primary: pulumi.Bool(false),
    				},
    			},
    		},
    		OsProfile: &compute.VirtualMachineScaleSetOSProfileArgs{
    			AdminPassword:            pulumi.String("string"),
    			AdminUsername:            pulumi.String("string"),
    			AllowExtensionOperations: pulumi.Bool(false),
    			ComputerNamePrefix:       pulumi.String("string"),
    			CustomData:               pulumi.String("string"),
    			LinuxConfiguration: &compute.LinuxConfigurationArgs{
    				DisablePasswordAuthentication: pulumi.Bool(false),
    				EnableVMAgentPlatformUpdates:  pulumi.Bool(false),
    				PatchSettings: &compute.LinuxPatchSettingsArgs{
    					AssessmentMode: pulumi.String("string"),
    					AutomaticByPlatformSettings: &compute.LinuxVMGuestPatchAutomaticByPlatformSettingsArgs{
    						BypassPlatformSafetyChecksOnUserSchedule: pulumi.Bool(false),
    						RebootSetting:                            pulumi.String("string"),
    					},
    					PatchMode: pulumi.String("string"),
    				},
    				ProvisionVMAgent: pulumi.Bool(false),
    				Ssh: &compute.SshConfigurationArgs{
    					PublicKeys: compute.SshPublicKeyTypeArray{
    						&compute.SshPublicKeyTypeArgs{
    							KeyData: pulumi.String("string"),
    							Path:    pulumi.String("string"),
    						},
    					},
    				},
    			},
    			RequireGuestProvisionSignal: pulumi.Bool(false),
    			Secrets: compute.VaultSecretGroupArray{
    				&compute.VaultSecretGroupArgs{
    					SourceVault: &compute.SubResourceArgs{
    						Id: pulumi.String("string"),
    					},
    					VaultCertificates: compute.VaultCertificateArray{
    						&compute.VaultCertificateArgs{
    							CertificateStore: pulumi.String("string"),
    							CertificateUrl:   pulumi.String("string"),
    						},
    					},
    				},
    			},
    			WindowsConfiguration: &compute.WindowsConfigurationArgs{
    				AdditionalUnattendContent: compute.AdditionalUnattendContentArray{
    					&compute.AdditionalUnattendContentArgs{
    						ComponentName: compute.ComponentName_Microsoft_Windows_Shell_Setup,
    						Content:       pulumi.String("string"),
    						PassName:      compute.PassNameOobeSystem,
    						SettingName:   compute.SettingNamesAutoLogon,
    					},
    				},
    				EnableAutomaticUpdates: pulumi.Bool(false),
    				PatchSettings: &compute.PatchSettingsArgs{
    					AssessmentMode: pulumi.String("string"),
    					AutomaticByPlatformSettings: &compute.WindowsVMGuestPatchAutomaticByPlatformSettingsArgs{
    						BypassPlatformSafetyChecksOnUserSchedule: pulumi.Bool(false),
    						RebootSetting:                            pulumi.String("string"),
    					},
    					EnableHotpatching: pulumi.Bool(false),
    					PatchMode:         pulumi.String("string"),
    				},
    				ProvisionVMAgent: pulumi.Bool(false),
    				TimeZone:         pulumi.String("string"),
    				WinRM: &compute.WinRMConfigurationArgs{
    					Listeners: compute.WinRMListenerArray{
    						&compute.WinRMListenerArgs{
    							CertificateUrl: pulumi.String("string"),
    							Protocol:       compute.ProtocolTypesHttp,
    						},
    					},
    				},
    			},
    		},
    		Priority: pulumi.String("string"),
    		ScheduledEventsProfile: &compute.ScheduledEventsProfileArgs{
    			OsImageNotificationProfile: &compute.OSImageNotificationProfileArgs{
    				Enable:           pulumi.Bool(false),
    				NotBeforeTimeout: pulumi.String("string"),
    			},
    			TerminateNotificationProfile: &compute.TerminateNotificationProfileArgs{
    				Enable:           pulumi.Bool(false),
    				NotBeforeTimeout: pulumi.String("string"),
    			},
    		},
    		SecurityPostureReference: &compute.SecurityPostureReferenceArgs{
    			Id: pulumi.String("string"),
    			ExcludeExtensions: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			IsOverridable: pulumi.Bool(false),
    		},
    		SecurityProfile: &compute.SecurityProfileArgs{
    			EncryptionAtHost: pulumi.Bool(false),
    			EncryptionIdentity: &compute.EncryptionIdentityArgs{
    				UserAssignedIdentityResourceId: pulumi.String("string"),
    			},
    			ProxyAgentSettings: &compute.ProxyAgentSettingsArgs{
    				Enabled: pulumi.Bool(false),
    				Imds: &compute.HostEndpointSettingsArgs{
    					InVMAccessControlProfileReferenceId: pulumi.String("string"),
    					Mode:                                pulumi.String("string"),
    				},
    				KeyIncarnationId: pulumi.Int(0),
    				Mode:             pulumi.String("string"),
    				WireServer: &compute.HostEndpointSettingsArgs{
    					InVMAccessControlProfileReferenceId: pulumi.String("string"),
    					Mode:                                pulumi.String("string"),
    				},
    			},
    			SecurityType: pulumi.String("string"),
    			UefiSettings: &compute.UefiSettingsArgs{
    				SecureBootEnabled: pulumi.Bool(false),
    				VTpmEnabled:       pulumi.Bool(false),
    			},
    		},
    		ServiceArtifactReference: &compute.ServiceArtifactReferenceArgs{
    			Id: pulumi.String("string"),
    		},
    		StorageProfile: &compute.VirtualMachineScaleSetStorageProfileArgs{
    			DataDisks: compute.VirtualMachineScaleSetDataDiskArray{
    				&compute.VirtualMachineScaleSetDataDiskArgs{
    					CreateOption:      pulumi.String("string"),
    					Lun:               pulumi.Int(0),
    					Caching:           compute.CachingTypesNone,
    					DeleteOption:      pulumi.String("string"),
    					DiskIOPSReadWrite: pulumi.Float64(0),
    					DiskMBpsReadWrite: pulumi.Float64(0),
    					DiskSizeGB:        pulumi.Int(0),
    					ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    						DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    							Id: pulumi.String("string"),
    						},
    						SecurityProfile: &compute.VMDiskSecurityProfileArgs{
    							DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    								Id: pulumi.String("string"),
    							},
    							SecurityEncryptionType: pulumi.String("string"),
    						},
    						StorageAccountType: pulumi.String("string"),
    					},
    					Name:                    pulumi.String("string"),
    					WriteAcceleratorEnabled: pulumi.Bool(false),
    				},
    			},
    			DiskControllerType: pulumi.String("string"),
    			ImageReference: &compute.ImageReferenceArgs{
    				CommunityGalleryImageId: pulumi.String("string"),
    				Id:                      pulumi.String("string"),
    				Offer:                   pulumi.String("string"),
    				Publisher:               pulumi.String("string"),
    				SharedGalleryImageId:    pulumi.String("string"),
    				Sku:                     pulumi.String("string"),
    				Version:                 pulumi.String("string"),
    			},
    			OsDisk: &compute.VirtualMachineScaleSetOSDiskArgs{
    				CreateOption: pulumi.String("string"),
    				Caching:      compute.CachingTypesNone,
    				DeleteOption: pulumi.String("string"),
    				DiffDiskSettings: &compute.DiffDiskSettingsArgs{
    					Option:    pulumi.String("string"),
    					Placement: pulumi.String("string"),
    				},
    				DiskSizeGB: pulumi.Int(0),
    				Image: &compute.VirtualHardDiskArgs{
    					Uri: pulumi.String("string"),
    				},
    				ManagedDisk: &compute.VirtualMachineScaleSetManagedDiskParametersArgs{
    					DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    						Id: pulumi.String("string"),
    					},
    					SecurityProfile: &compute.VMDiskSecurityProfileArgs{
    						DiskEncryptionSet: &compute.DiskEncryptionSetParametersArgs{
    							Id: pulumi.String("string"),
    						},
    						SecurityEncryptionType: pulumi.String("string"),
    					},
    					StorageAccountType: pulumi.String("string"),
    				},
    				Name:   pulumi.String("string"),
    				OsType: compute.OperatingSystemTypesWindows,
    				VhdContainers: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				WriteAcceleratorEnabled: pulumi.Bool(false),
    			},
    		},
    		UserData: pulumi.String("string"),
    	},
    	DoNotRunExtensionsOnOverprovisionedVMs: pulumi.Bool(false),
    	ExtendedLocation: &compute.ExtendedLocationArgs{
    		Name: pulumi.String("string"),
    		Type: pulumi.String("string"),
    	},
    	AutomaticRepairsPolicy: &compute.AutomaticRepairsPolicyArgs{
    		Enabled:      pulumi.Bool(false),
    		GracePeriod:  pulumi.String("string"),
    		RepairAction: pulumi.String("string"),
    	},
    	Identity: &compute.VirtualMachineScaleSetIdentityArgs{
    		Type: compute.ResourceIdentityTypeSystemAssigned,
    		UserAssignedIdentities: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Location:          pulumi.String("string"),
    	OrchestrationMode: pulumi.String("string"),
    	Overprovision:     pulumi.Bool(false),
    	Plan: &compute.PlanArgs{
    		Name:          pulumi.String("string"),
    		Product:       pulumi.String("string"),
    		PromotionCode: pulumi.String("string"),
    		Publisher:     pulumi.String("string"),
    	},
    	PlatformFaultDomainCount: pulumi.Int(0),
    	PriorityMixPolicy: &compute.PriorityMixPolicyArgs{
    		BaseRegularPriorityCount:           pulumi.Int(0),
    		RegularPriorityPercentageAboveBase: pulumi.Int(0),
    	},
    	ConstrainedMaximumCapacity: pulumi.Bool(false),
    	ProximityPlacementGroup: &compute.SubResourceArgs{
    		Id: pulumi.String("string"),
    	},
    	HostGroup: &compute.SubResourceArgs{
    		Id: pulumi.String("string"),
    	},
    	ScaleInPolicy: &compute.ScaleInPolicyArgs{
    		ForceDeletion:          pulumi.Bool(false),
    		PrioritizeUnhealthyVMs: pulumi.Bool(false),
    		Rules: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	ScheduledEventsPolicy: &compute.ScheduledEventsPolicyArgs{
    		ScheduledEventsAdditionalPublishingTargets: &compute.ScheduledEventsAdditionalPublishingTargetsArgs{
    			EventGridAndResourceGraph: &compute.EventGridAndResourceGraphArgs{
    				Enable: pulumi.Bool(false),
    			},
    		},
    		UserInitiatedReboot: &compute.UserInitiatedRebootArgs{
    			AutomaticallyApprove: pulumi.Bool(false),
    		},
    		UserInitiatedRedeploy: &compute.UserInitiatedRedeployArgs{
    			AutomaticallyApprove: pulumi.Bool(false),
    		},
    	},
    	SinglePlacementGroup: pulumi.Bool(false),
    	Sku: &compute.SkuArgs{
    		Capacity: pulumi.Float64(0),
    		Name:     pulumi.String("string"),
    		Tier:     pulumi.String("string"),
    	},
    	SkuProfile: &compute.SkuProfileArgs{
    		AllocationStrategy: pulumi.String("string"),
    		VmSizes: compute.SkuProfileVMSizeArray{
    			&compute.SkuProfileVMSizeArgs{
    				Name: pulumi.String("string"),
    				Rank: pulumi.Int(0),
    			},
    		},
    	},
    	SpotRestorePolicy: &compute.SpotRestorePolicyArgs{
    		Enabled:        pulumi.Bool(false),
    		RestoreTimeout: pulumi.String("string"),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	UpgradePolicy: &compute.UpgradePolicyArgs{
    		AutomaticOSUpgradePolicy: &compute.AutomaticOSUpgradePolicyArgs{
    			DisableAutomaticRollback: pulumi.Bool(false),
    			EnableAutomaticOSUpgrade: pulumi.Bool(false),
    			OsRollingUpgradeDeferral: pulumi.Bool(false),
    			UseRollingUpgradePolicy:  pulumi.Bool(false),
    		},
    		Mode: compute.UpgradeModeAutomatic,
    		RollingUpgradePolicy: &compute.RollingUpgradePolicyArgs{
    			EnableCrossZoneUpgrade:                pulumi.Bool(false),
    			MaxBatchInstancePercent:               pulumi.Int(0),
    			MaxSurge:                              pulumi.Bool(false),
    			MaxUnhealthyInstancePercent:           pulumi.Int(0),
    			MaxUnhealthyUpgradedInstancePercent:   pulumi.Int(0),
    			PauseTimeBetweenBatches:               pulumi.String("string"),
    			PrioritizeUnhealthyInstances:          pulumi.Bool(false),
    			RollbackFailedInstancesOnPolicyBreach: pulumi.Bool(false),
    		},
    	},
    	AdditionalCapabilities: &compute.AdditionalCapabilitiesArgs{
    		HibernationEnabled: pulumi.Bool(false),
    		UltraSSDEnabled:    pulumi.Bool(false),
    	},
    	VmScaleSetName:                    pulumi.String("string"),
    	ZonalPlatformFaultDomainAlignMode: pulumi.String("string"),
    	ZoneBalance:                       pulumi.Bool(false),
    	Zones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    resource "azure-native_compute_virtualmachinescaleset" "virtualMachineScaleSetResource" {
      resource_group_name = "string"
      resiliency_policy = {
        automatic_zone_rebalancing_policy = {
          enabled            = false
          rebalance_behavior = "string"
          rebalance_strategy = "string"
        }
        resilient_vm_creation_policy = {
          enabled = false
        }
        resilient_vm_deletion_policy = {
          enabled = false
        }
      }
      virtual_machine_profile = {
        application_profile = {
          gallery_applications = [{
            "packageReferenceId"              = "string"
            "configurationReference"          = "string"
            "enableAutomaticUpgrade"          = false
            "order"                           = 0
            "tags"                            = "string"
            "treatFailureAsDeploymentFailure" = false
          }]
        }
        billing_profile = {
          max_price = 0
        }
        capacity_reservation = {
          capacity_reservation_group = {
            id = "string"
          }
        }
        diagnostics_profile = {
          boot_diagnostics = {
            enabled     = false
            storage_uri = "string"
          }
        }
        eviction_policy = "string"
        extension_profile = {
          extensions = [{
            "autoUpgradeMinorVersion" = false
            "enableAutomaticUpgrade"  = false
            "forceUpdateTag"          = "string"
            "name"                    = "string"
            "protectedSettings"       = "any"
            "protectedSettingsFromKeyVault" = {
              "secretUrl" = "string"
              "sourceVault" = {
                "id" = "string"
              }
            }
            "provisionAfterExtensions" = ["string"]
            "publisher"                = "string"
            "settings"                 = "any"
            "suppressFailures"         = false
            "type"                     = "string"
            "typeHandlerVersion"       = "string"
          }]
          extensions_time_budget = "string"
        }
        hardware_profile = {
          vm_size_properties = {
            v_cp_us_available = 0
            v_cp_us_per_core  = 0
          }
        }
        license_type = "string"
        network_profile = {
          health_probe = {
            id = "string"
          }
          network_api_version = "string"
          network_interface_configurations = [{
            "ipConfigurations" = [{
              "name" = "string"
              "applicationGatewayBackendAddressPools" = [{
                "id" = "string"
              }]
              "applicationSecurityGroups" = [{
                "id" = "string"
              }]
              "loadBalancerBackendAddressPools" = [{
                "id" = "string"
              }]
              "loadBalancerInboundNatPools" = [{
                "id" = "string"
              }]
              "primary"                 = false
              "privateIPAddressVersion" = "string"
              "publicIPAddressConfiguration" = {
                "name"         = "string"
                "deleteOption" = "string"
                "dnsSettings" = {
                  "domainNameLabel"      = "string"
                  "domainNameLabelScope" = "string"
                }
                "idleTimeoutInMinutes" = 0
                "ipTags" = [{
                  "ipTagType" = "string"
                  "tag"       = "string"
                }]
                "publicIPAddressVersion" = "string"
                "publicIPPrefix" = {
                  "id" = "string"
                }
                "sku" = {
                  "name" = "string"
                  "tier" = "string"
                }
              }
              "subnet" = {
                "id" = "string"
              }
            }]
            "name"                    = "string"
            "auxiliaryMode"           = "string"
            "auxiliarySku"            = "string"
            "deleteOption"            = "string"
            "disableTcpStateTracking" = false
            "dnsSettings" = {
              "dnsServers" = ["string"]
            }
            "enableAcceleratedNetworking" = false
            "enableFpga"                  = false
            "enableIPForwarding"          = false
            "networkSecurityGroup" = {
              "id" = "string"
            }
            "primary" = false
          }]
        }
        os_profile = {
          admin_password             = "string"
          admin_username             = "string"
          allow_extension_operations = false
          computer_name_prefix       = "string"
          custom_data                = "string"
          linux_configuration = {
            disable_password_authentication  = false
            enable_vm_agent_platform_updates = false
            patch_settings = {
              assessment_mode = "string"
              automatic_by_platform_settings = {
                bypass_platform_safety_checks_on_user_schedule = false
                reboot_setting                                 = "string"
              }
              patch_mode = "string"
            }
            provision_vm_agent = false
            ssh = {
              public_keys = [{
                "keyData" = "string"
                "path"    = "string"
              }]
            }
          }
          require_guest_provision_signal = false
          secrets = [{
            "sourceVault" = {
              "id" = "string"
            }
            "vaultCertificates" = [{
              "certificateStore" = "string"
              "certificateUrl"   = "string"
            }]
          }]
          windows_configuration = {
            additional_unattend_content = [{
              "componentName" = "Microsoft-Windows-Shell-Setup"
              "content"       = "string"
              "passName"      = "OobeSystem"
              "settingName"   = "AutoLogon"
            }]
            enable_automatic_updates = false
            patch_settings = {
              assessment_mode = "string"
              automatic_by_platform_settings = {
                bypass_platform_safety_checks_on_user_schedule = false
                reboot_setting                                 = "string"
              }
              enable_hotpatching = false
              patch_mode         = "string"
            }
            provision_vm_agent = false
            time_zone          = "string"
            win_rm = {
              listeners = [{
                "certificateUrl" = "string"
                "protocol"       = "Http"
              }]
            }
          }
        }
        priority = "string"
        scheduled_events_profile = {
          os_image_notification_profile = {
            enable             = false
            not_before_timeout = "string"
          }
          terminate_notification_profile = {
            enable             = false
            not_before_timeout = "string"
          }
        }
        security_posture_reference = {
          id                 = "string"
          exclude_extensions = ["string"]
          is_overridable     = false
        }
        security_profile = {
          encryption_at_host = false
          encryption_identity = {
            user_assigned_identity_resource_id = "string"
          }
          proxy_agent_settings = {
            enabled = false
            imds = {
              in_vm_access_control_profile_reference_id = "string"
              mode                                      = "string"
            }
            key_incarnation_id = 0
            mode               = "string"
            wire_server = {
              in_vm_access_control_profile_reference_id = "string"
              mode                                      = "string"
            }
          }
          security_type = "string"
          uefi_settings = {
            secure_boot_enabled = false
            v_tpm_enabled       = false
          }
        }
        service_artifact_reference = {
          id = "string"
        }
        storage_profile = {
          data_disks = [{
            "createOption"      = "string"
            "lun"               = 0
            "caching"           = "None"
            "deleteOption"      = "string"
            "diskIOPSReadWrite" = 0
            "diskMBpsReadWrite" = 0
            "diskSizeGB"        = 0
            "managedDisk" = {
              "diskEncryptionSet" = {
                "id" = "string"
              }
              "securityProfile" = {
                "diskEncryptionSet" = {
                  "id" = "string"
                }
                "securityEncryptionType" = "string"
              }
              "storageAccountType" = "string"
            }
            "name"                    = "string"
            "writeAcceleratorEnabled" = false
          }]
          disk_controller_type = "string"
          image_reference = {
            community_gallery_image_id = "string"
            id                         = "string"
            offer                      = "string"
            publisher                  = "string"
            shared_gallery_image_id    = "string"
            sku                        = "string"
            version                    = "string"
          }
          os_disk = {
            create_option = "string"
            caching       = "None"
            delete_option = "string"
            diff_disk_settings = {
              option    = "string"
              placement = "string"
            }
            disk_size_gb = 0
            image = {
              uri = "string"
            }
            managed_disk = {
              disk_encryption_set = {
                id = "string"
              }
              security_profile = {
                disk_encryption_set = {
                  id = "string"
                }
                security_encryption_type = "string"
              }
              storage_account_type = "string"
            }
            name                      = "string"
            os_type                   = "Windows"
            vhd_containers            = ["string"]
            write_accelerator_enabled = false
          }
        }
        user_data = "string"
      }
      do_not_run_extensions_on_overprovisioned_v_ms = false
      extended_location = {
        name = "string"
        type = "string"
      }
      automatic_repairs_policy = {
        enabled       = false
        grace_period  = "string"
        repair_action = "string"
      }
      identity = {
        type                     = "SystemAssigned"
        user_assigned_identities = ["string"]
      }
      location           = "string"
      orchestration_mode = "string"
      overprovision      = false
      plan = {
        name           = "string"
        product        = "string"
        promotion_code = "string"
        publisher      = "string"
      }
      platform_fault_domain_count = 0
      priority_mix_policy = {
        base_regular_priority_count            = 0
        regular_priority_percentage_above_base = 0
      }
      constrained_maximum_capacity = false
      proximity_placement_group = {
        id = "string"
      }
      host_group = {
        id = "string"
      }
      scale_in_policy = {
        force_deletion            = false
        prioritize_unhealthy_v_ms = false
        rules                     = ["string"]
      }
      scheduled_events_policy = {
        scheduled_events_additional_publishing_targets = {
          event_grid_and_resource_graph = {
            enable = false
          }
        }
        user_initiated_reboot = {
          automatically_approve = false
        }
        user_initiated_redeploy = {
          automatically_approve = false
        }
      }
      single_placement_group = false
      sku = {
        capacity = 0
        name     = "string"
        tier     = "string"
      }
      sku_profile = {
        allocation_strategy = "string"
        vm_sizes = [{
          "name" = "string"
          "rank" = 0
        }]
      }
      spot_restore_policy = {
        enabled         = false
        restore_timeout = "string"
      }
      tags = {
        "string" = "string"
      }
      upgrade_policy = {
        automatic_os_upgrade_policy = {
          disable_automatic_rollback  = false
          enable_automatic_os_upgrade = false
          os_rolling_upgrade_deferral = false
          use_rolling_upgrade_policy  = false
        }
        mode = "Automatic"
        rolling_upgrade_policy = {
          enable_cross_zone_upgrade                  = false
          max_batch_instance_percent                 = 0
          max_surge                                  = false
          max_unhealthy_instance_percent             = 0
          max_unhealthy_upgraded_instance_percent    = 0
          pause_time_between_batches                 = "string"
          prioritize_unhealthy_instances             = false
          rollback_failed_instances_on_policy_breach = false
        }
      }
      additional_capabilities = {
        hibernation_enabled = false
        ultra_ssd_enabled   = false
      }
      vm_scale_set_name                      = "string"
      zonal_platform_fault_domain_align_mode = "string"
      zone_balance                           = false
      zones                                  = ["string"]
    }
    
    var virtualMachineScaleSetResource = new VirtualMachineScaleSet("virtualMachineScaleSetResource", VirtualMachineScaleSetArgs.builder()
        .resourceGroupName("string")
        .resiliencyPolicy(ResiliencyPolicyArgs.builder()
            .automaticZoneRebalancingPolicy(AutomaticZoneRebalancingPolicyArgs.builder()
                .enabled(false)
                .rebalanceBehavior("string")
                .rebalanceStrategy("string")
                .build())
            .resilientVMCreationPolicy(ResilientVMCreationPolicyArgs.builder()
                .enabled(false)
                .build())
            .resilientVMDeletionPolicy(ResilientVMDeletionPolicyArgs.builder()
                .enabled(false)
                .build())
            .build())
        .virtualMachineProfile(VirtualMachineScaleSetVMProfileArgs.builder()
            .applicationProfile(com.pulumi.azurenative.compute.inputs.ApplicationProfileArgs.builder()
                .galleryApplications(com.pulumi.azurenative.compute.inputs.VMGalleryApplicationArgs.builder()
                    .packageReferenceId("string")
                    .configurationReference("string")
                    .enableAutomaticUpgrade(false)
                    .order(0)
                    .tags("string")
                    .treatFailureAsDeploymentFailure(false)
                    .build())
                .build())
            .billingProfile(com.pulumi.azurenative.compute.inputs.BillingProfileArgs.builder()
                .maxPrice(0.0)
                .build())
            .capacityReservation(com.pulumi.azurenative.compute.inputs.CapacityReservationProfileArgs.builder()
                .capacityReservationGroup(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
                    .id("string")
                    .build())
                .build())
            .diagnosticsProfile(com.pulumi.azurenative.compute.inputs.DiagnosticsProfileArgs.builder()
                .bootDiagnostics(com.pulumi.azurenative.compute.inputs.BootDiagnosticsArgs.builder()
                    .enabled(false)
                    .storageUri("string")
                    .build())
                .build())
            .evictionPolicy("string")
            .extensionProfile(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetExtensionProfileArgs.builder()
                .extensions(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetExtensionArgs.builder()
                    .autoUpgradeMinorVersion(false)
                    .enableAutomaticUpgrade(false)
                    .forceUpdateTag("string")
                    .name("string")
                    .protectedSettings("any")
                    .protectedSettingsFromKeyVault(com.pulumi.azurenative.compute.inputs.KeyVaultSecretReferenceArgs.builder()
                        .secretUrl("string")
                        .sourceVault(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
                            .id("string")
                            .build())
                        .build())
                    .provisionAfterExtensions("string")
                    .publisher("string")
                    .settings("any")
                    .suppressFailures(false)
                    .type("string")
                    .typeHandlerVersion("string")
                    .build())
                .extensionsTimeBudget("string")
                .build())
            .hardwareProfile(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetHardwareProfileArgs.builder()
                .vmSizeProperties(com.pulumi.azurenative.compute.inputs.VMSizePropertiesArgs.builder()
                    .vCPUsAvailable(0)
                    .vCPUsPerCore(0)
                    .build())
                .build())
            .licenseType("string")
            .networkProfile(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkProfileArgs.builder()
                .healthProbe(com.pulumi.azurenative.compute.inputs.ApiEntityReferenceArgs.builder()
                    .id("string")
                    .build())
                .networkApiVersion("string")
                .networkInterfaceConfigurations(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkConfigurationArgs.builder()
                    .ipConfigurations(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetIPConfigurationArgs.builder()
                        .name("string")
                        .applicationGatewayBackendAddressPools(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
                            .id("string")
                            .build())
                        .applicationSecurityGroups(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
                            .id("string")
                            .build())
                        .loadBalancerBackendAddressPools(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
                            .id("string")
                            .build())
                        .loadBalancerInboundNatPools(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
                            .id("string")
                            .build())
                        .primary(false)
                        .privateIPAddressVersion("string")
                        .publicIPAddressConfiguration(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetPublicIPAddressConfigurationArgs.builder()
                            .name("string")
                            .deleteOption("string")
                            .dnsSettings(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs.builder()
                                .domainNameLabel("string")
                                .domainNameLabelScope("string")
                                .build())
                            .idleTimeoutInMinutes(0)
                            .ipTags(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetIpTagArgs.builder()
                                .ipTagType("string")
                                .tag("string")
                                .build())
                            .publicIPAddressVersion("string")
                            .publicIPPrefix(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
                                .id("string")
                                .build())
                            .sku(com.pulumi.azurenative.compute.inputs.PublicIPAddressSkuArgs.builder()
                                .name("string")
                                .tier("string")
                                .build())
                            .build())
                        .subnet(com.pulumi.azurenative.compute.inputs.ApiEntityReferenceArgs.builder()
                            .id("string")
                            .build())
                        .build())
                    .name("string")
                    .auxiliaryMode("string")
                    .auxiliarySku("string")
                    .deleteOption("string")
                    .disableTcpStateTracking(false)
                    .dnsSettings(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs.builder()
                        .dnsServers("string")
                        .build())
                    .enableAcceleratedNetworking(false)
                    .enableFpga(false)
                    .enableIPForwarding(false)
                    .networkSecurityGroup(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .primary(false)
                    .build())
                .build())
            .osProfile(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs.builder()
                .adminPassword("string")
                .adminUsername("string")
                .allowExtensionOperations(false)
                .computerNamePrefix("string")
                .customData("string")
                .linuxConfiguration(com.pulumi.azurenative.compute.inputs.LinuxConfigurationArgs.builder()
                    .disablePasswordAuthentication(false)
                    .enableVMAgentPlatformUpdates(false)
                    .patchSettings(com.pulumi.azurenative.compute.inputs.LinuxPatchSettingsArgs.builder()
                        .assessmentMode("string")
                        .automaticByPlatformSettings(com.pulumi.azurenative.compute.inputs.LinuxVMGuestPatchAutomaticByPlatformSettingsArgs.builder()
                            .bypassPlatformSafetyChecksOnUserSchedule(false)
                            .rebootSetting("string")
                            .build())
                        .patchMode("string")
                        .build())
                    .provisionVMAgent(false)
                    .ssh(com.pulumi.azurenative.compute.inputs.SshConfigurationArgs.builder()
                        .publicKeys(com.pulumi.azurenative.compute.inputs.SshPublicKeyArgs.builder()
                            .keyData("string")
                            .path("string")
                            .build())
                        .build())
                    .build())
                .requireGuestProvisionSignal(false)
                .secrets(com.pulumi.azurenative.compute.inputs.VaultSecretGroupArgs.builder()
                    .sourceVault(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
                        .id("string")
                        .build())
                    .vaultCertificates(com.pulumi.azurenative.compute.inputs.VaultCertificateArgs.builder()
                        .certificateStore("string")
                        .certificateUrl("string")
                        .build())
                    .build())
                .windowsConfiguration(com.pulumi.azurenative.compute.inputs.WindowsConfigurationArgs.builder()
                    .additionalUnattendContent(com.pulumi.azurenative.compute.inputs.AdditionalUnattendContentArgs.builder()
                        .componentName("Microsoft-Windows-Shell-Setup")
                        .content("string")
                        .passName("OobeSystem")
                        .settingName("AutoLogon")
                        .build())
                    .enableAutomaticUpdates(false)
                    .patchSettings(com.pulumi.azurenative.compute.inputs.PatchSettingsArgs.builder()
                        .assessmentMode("string")
                        .automaticByPlatformSettings(com.pulumi.azurenative.compute.inputs.WindowsVMGuestPatchAutomaticByPlatformSettingsArgs.builder()
                            .bypassPlatformSafetyChecksOnUserSchedule(false)
                            .rebootSetting("string")
                            .build())
                        .enableHotpatching(false)
                        .patchMode("string")
                        .build())
                    .provisionVMAgent(false)
                    .timeZone("string")
                    .winRM(com.pulumi.azurenative.compute.inputs.WinRMConfigurationArgs.builder()
                        .listeners(com.pulumi.azurenative.compute.inputs.WinRMListenerArgs.builder()
                            .certificateUrl("string")
                            .protocol("Http")
                            .build())
                        .build())
                    .build())
                .build())
            .priority("string")
            .scheduledEventsProfile(com.pulumi.azurenative.compute.inputs.ScheduledEventsProfileArgs.builder()
                .osImageNotificationProfile(com.pulumi.azurenative.compute.inputs.OSImageNotificationProfileArgs.builder()
                    .enable(false)
                    .notBeforeTimeout("string")
                    .build())
                .terminateNotificationProfile(com.pulumi.azurenative.compute.inputs.TerminateNotificationProfileArgs.builder()
                    .enable(false)
                    .notBeforeTimeout("string")
                    .build())
                .build())
            .securityPostureReference(com.pulumi.azurenative.compute.inputs.SecurityPostureReferenceArgs.builder()
                .id("string")
                .excludeExtensions("string")
                .isOverridable(false)
                .build())
            .securityProfile(com.pulumi.azurenative.compute.inputs.SecurityProfileArgs.builder()
                .encryptionAtHost(false)
                .encryptionIdentity(com.pulumi.azurenative.compute.inputs.EncryptionIdentityArgs.builder()
                    .userAssignedIdentityResourceId("string")
                    .build())
                .proxyAgentSettings(com.pulumi.azurenative.compute.inputs.ProxyAgentSettingsArgs.builder()
                    .enabled(false)
                    .imds(com.pulumi.azurenative.compute.inputs.HostEndpointSettingsArgs.builder()
                        .inVMAccessControlProfileReferenceId("string")
                        .mode("string")
                        .build())
                    .keyIncarnationId(0)
                    .mode("string")
                    .wireServer(com.pulumi.azurenative.compute.inputs.HostEndpointSettingsArgs.builder()
                        .inVMAccessControlProfileReferenceId("string")
                        .mode("string")
                        .build())
                    .build())
                .securityType("string")
                .uefiSettings(com.pulumi.azurenative.compute.inputs.UefiSettingsArgs.builder()
                    .secureBootEnabled(false)
                    .vTpmEnabled(false)
                    .build())
                .build())
            .serviceArtifactReference(com.pulumi.azurenative.compute.inputs.ServiceArtifactReferenceArgs.builder()
                .id("string")
                .build())
            .storageProfile(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetStorageProfileArgs.builder()
                .dataDisks(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetDataDiskArgs.builder()
                    .createOption("string")
                    .lun(0)
                    .caching("None")
                    .deleteOption("string")
                    .diskIOPSReadWrite(0.0)
                    .diskMBpsReadWrite(0.0)
                    .diskSizeGB(0)
                    .managedDisk(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                        .diskEncryptionSet(com.pulumi.azurenative.compute.inputs.DiskEncryptionSetParametersArgs.builder()
                            .id("string")
                            .build())
                        .securityProfile(com.pulumi.azurenative.compute.inputs.VMDiskSecurityProfileArgs.builder()
                            .diskEncryptionSet(com.pulumi.azurenative.compute.inputs.DiskEncryptionSetParametersArgs.builder()
                                .id("string")
                                .build())
                            .securityEncryptionType("string")
                            .build())
                        .storageAccountType("string")
                        .build())
                    .name("string")
                    .writeAcceleratorEnabled(false)
                    .build())
                .diskControllerType("string")
                .imageReference(com.pulumi.azurenative.compute.inputs.ImageReferenceArgs.builder()
                    .communityGalleryImageId("string")
                    .id("string")
                    .offer("string")
                    .publisher("string")
                    .sharedGalleryImageId("string")
                    .sku("string")
                    .version("string")
                    .build())
                .osDisk(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSDiskArgs.builder()
                    .createOption("string")
                    .caching("None")
                    .deleteOption("string")
                    .diffDiskSettings(com.pulumi.azurenative.compute.inputs.DiffDiskSettingsArgs.builder()
                        .option("string")
                        .placement("string")
                        .build())
                    .diskSizeGB(0)
                    .image(com.pulumi.azurenative.compute.inputs.VirtualHardDiskArgs.builder()
                        .uri("string")
                        .build())
                    .managedDisk(com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetManagedDiskParametersArgs.builder()
                        .diskEncryptionSet(com.pulumi.azurenative.compute.inputs.DiskEncryptionSetParametersArgs.builder()
                            .id("string")
                            .build())
                        .securityProfile(com.pulumi.azurenative.compute.inputs.VMDiskSecurityProfileArgs.builder()
                            .diskEncryptionSet(com.pulumi.azurenative.compute.inputs.DiskEncryptionSetParametersArgs.builder()
                                .id("string")
                                .build())
                            .securityEncryptionType("string")
                            .build())
                        .storageAccountType("string")
                        .build())
                    .name("string")
                    .osType("Windows")
                    .vhdContainers("string")
                    .writeAcceleratorEnabled(false)
                    .build())
                .build())
            .userData("string")
            .build())
        .doNotRunExtensionsOnOverprovisionedVMs(false)
        .extendedLocation(com.pulumi.azurenative.compute.inputs.ExtendedLocationArgs.builder()
            .name("string")
            .type("string")
            .build())
        .automaticRepairsPolicy(AutomaticRepairsPolicyArgs.builder()
            .enabled(false)
            .gracePeriod("string")
            .repairAction("string")
            .build())
        .identity(VirtualMachineScaleSetIdentityArgs.builder()
            .type("SystemAssigned")
            .userAssignedIdentities("string")
            .build())
        .location("string")
        .orchestrationMode("string")
        .overprovision(false)
        .plan(com.pulumi.azurenative.compute.inputs.PlanArgs.builder()
            .name("string")
            .product("string")
            .promotionCode("string")
            .publisher("string")
            .build())
        .platformFaultDomainCount(0)
        .priorityMixPolicy(PriorityMixPolicyArgs.builder()
            .baseRegularPriorityCount(0)
            .regularPriorityPercentageAboveBase(0)
            .build())
        .constrainedMaximumCapacity(false)
        .proximityPlacementGroup(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
            .id("string")
            .build())
        .hostGroup(com.pulumi.azurenative.compute.inputs.SubResourceArgs.builder()
            .id("string")
            .build())
        .scaleInPolicy(ScaleInPolicyArgs.builder()
            .forceDeletion(false)
            .prioritizeUnhealthyVMs(false)
            .rules("string")
            .build())
        .scheduledEventsPolicy(com.pulumi.azurenative.compute.inputs.ScheduledEventsPolicyArgs.builder()
            .scheduledEventsAdditionalPublishingTargets(com.pulumi.azurenative.compute.inputs.ScheduledEventsAdditionalPublishingTargetsArgs.builder()
                .eventGridAndResourceGraph(com.pulumi.azurenative.compute.inputs.EventGridAndResourceGraphArgs.builder()
                    .enable(false)
                    .build())
                .build())
            .userInitiatedReboot(com.pulumi.azurenative.compute.inputs.UserInitiatedRebootArgs.builder()
                .automaticallyApprove(false)
                .build())
            .userInitiatedRedeploy(com.pulumi.azurenative.compute.inputs.UserInitiatedRedeployArgs.builder()
                .automaticallyApprove(false)
                .build())
            .build())
        .singlePlacementGroup(false)
        .sku(com.pulumi.azurenative.compute.inputs.SkuArgs.builder()
            .capacity(0.0)
            .name("string")
            .tier("string")
            .build())
        .skuProfile(SkuProfileArgs.builder()
            .allocationStrategy("string")
            .vmSizes(SkuProfileVMSizeArgs.builder()
                .name("string")
                .rank(0)
                .build())
            .build())
        .spotRestorePolicy(SpotRestorePolicyArgs.builder()
            .enabled(false)
            .restoreTimeout("string")
            .build())
        .tags(Map.of("string", "string"))
        .upgradePolicy(com.pulumi.azurenative.compute.inputs.UpgradePolicyArgs.builder()
            .automaticOSUpgradePolicy(com.pulumi.azurenative.compute.inputs.AutomaticOSUpgradePolicyArgs.builder()
                .disableAutomaticRollback(false)
                .enableAutomaticOSUpgrade(false)
                .osRollingUpgradeDeferral(false)
                .useRollingUpgradePolicy(false)
                .build())
            .mode("Automatic")
            .rollingUpgradePolicy(com.pulumi.azurenative.compute.inputs.RollingUpgradePolicyArgs.builder()
                .enableCrossZoneUpgrade(false)
                .maxBatchInstancePercent(0)
                .maxSurge(false)
                .maxUnhealthyInstancePercent(0)
                .maxUnhealthyUpgradedInstancePercent(0)
                .pauseTimeBetweenBatches("string")
                .prioritizeUnhealthyInstances(false)
                .rollbackFailedInstancesOnPolicyBreach(false)
                .build())
            .build())
        .additionalCapabilities(com.pulumi.azurenative.compute.inputs.AdditionalCapabilitiesArgs.builder()
            .hibernationEnabled(false)
            .ultraSSDEnabled(false)
            .build())
        .vmScaleSetName("string")
        .zonalPlatformFaultDomainAlignMode("string")
        .zoneBalance(false)
        .zones("string")
        .build());
    
    virtual_machine_scale_set_resource = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSetResource",
        resource_group_name="string",
        resiliency_policy={
            "automatic_zone_rebalancing_policy": {
                "enabled": False,
                "rebalance_behavior": "string",
                "rebalance_strategy": "string",
            },
            "resilient_vm_creation_policy": {
                "enabled": False,
            },
            "resilient_vm_deletion_policy": {
                "enabled": False,
            },
        },
        virtual_machine_profile={
            "application_profile": {
                "gallery_applications": [{
                    "package_reference_id": "string",
                    "configuration_reference": "string",
                    "enable_automatic_upgrade": False,
                    "order": 0,
                    "tags": "string",
                    "treat_failure_as_deployment_failure": False,
                }],
            },
            "billing_profile": {
                "max_price": float(0),
            },
            "capacity_reservation": {
                "capacity_reservation_group": {
                    "id": "string",
                },
            },
            "diagnostics_profile": {
                "boot_diagnostics": {
                    "enabled": False,
                    "storage_uri": "string",
                },
            },
            "eviction_policy": "string",
            "extension_profile": {
                "extensions": [{
                    "auto_upgrade_minor_version": False,
                    "enable_automatic_upgrade": False,
                    "force_update_tag": "string",
                    "name": "string",
                    "protected_settings": "any",
                    "protected_settings_from_key_vault": {
                        "secret_url": "string",
                        "source_vault": {
                            "id": "string",
                        },
                    },
                    "provision_after_extensions": ["string"],
                    "publisher": "string",
                    "settings": "any",
                    "suppress_failures": False,
                    "type": "string",
                    "type_handler_version": "string",
                }],
                "extensions_time_budget": "string",
            },
            "hardware_profile": {
                "vm_size_properties": {
                    "v_cpus_available": 0,
                    "v_cpus_per_core": 0,
                },
            },
            "license_type": "string",
            "network_profile": {
                "health_probe": {
                    "id": "string",
                },
                "network_api_version": "string",
                "network_interface_configurations": [{
                    "ip_configurations": [{
                        "name": "string",
                        "application_gateway_backend_address_pools": [{
                            "id": "string",
                        }],
                        "application_security_groups": [{
                            "id": "string",
                        }],
                        "load_balancer_backend_address_pools": [{
                            "id": "string",
                        }],
                        "load_balancer_inbound_nat_pools": [{
                            "id": "string",
                        }],
                        "primary": False,
                        "private_ip_address_version": "string",
                        "public_ip_address_configuration": {
                            "name": "string",
                            "delete_option": "string",
                            "dns_settings": {
                                "domain_name_label": "string",
                                "domain_name_label_scope": "string",
                            },
                            "idle_timeout_in_minutes": 0,
                            "ip_tags": [{
                                "ip_tag_type": "string",
                                "tag": "string",
                            }],
                            "public_ip_address_version": "string",
                            "public_ip_prefix": {
                                "id": "string",
                            },
                            "sku": {
                                "name": "string",
                                "tier": "string",
                            },
                        },
                        "subnet": {
                            "id": "string",
                        },
                    }],
                    "name": "string",
                    "auxiliary_mode": "string",
                    "auxiliary_sku": "string",
                    "delete_option": "string",
                    "disable_tcp_state_tracking": False,
                    "dns_settings": {
                        "dns_servers": ["string"],
                    },
                    "enable_accelerated_networking": False,
                    "enable_fpga": False,
                    "enable_ip_forwarding": False,
                    "network_security_group": {
                        "id": "string",
                    },
                    "primary": False,
                }],
            },
            "os_profile": {
                "admin_password": "string",
                "admin_username": "string",
                "allow_extension_operations": False,
                "computer_name_prefix": "string",
                "custom_data": "string",
                "linux_configuration": {
                    "disable_password_authentication": False,
                    "enable_vm_agent_platform_updates": False,
                    "patch_settings": {
                        "assessment_mode": "string",
                        "automatic_by_platform_settings": {
                            "bypass_platform_safety_checks_on_user_schedule": False,
                            "reboot_setting": "string",
                        },
                        "patch_mode": "string",
                    },
                    "provision_vm_agent": False,
                    "ssh": {
                        "public_keys": [{
                            "key_data": "string",
                            "path": "string",
                        }],
                    },
                },
                "require_guest_provision_signal": False,
                "secrets": [{
                    "source_vault": {
                        "id": "string",
                    },
                    "vault_certificates": [{
                        "certificate_store": "string",
                        "certificate_url": "string",
                    }],
                }],
                "windows_configuration": {
                    "additional_unattend_content": [{
                        "component_name": azure_native.compute.ComponentName.MICROSOFT_WINDOWS_SHELL_SETUP,
                        "content": "string",
                        "pass_name": azure_native.compute.PassName.OOBE_SYSTEM,
                        "setting_name": azure_native.compute.SettingNames.AUTO_LOGON,
                    }],
                    "enable_automatic_updates": False,
                    "patch_settings": {
                        "assessment_mode": "string",
                        "automatic_by_platform_settings": {
                            "bypass_platform_safety_checks_on_user_schedule": False,
                            "reboot_setting": "string",
                        },
                        "enable_hotpatching": False,
                        "patch_mode": "string",
                    },
                    "provision_vm_agent": False,
                    "time_zone": "string",
                    "win_rm": {
                        "listeners": [{
                            "certificate_url": "string",
                            "protocol": azure_native.compute.ProtocolTypes.HTTP,
                        }],
                    },
                },
            },
            "priority": "string",
            "scheduled_events_profile": {
                "os_image_notification_profile": {
                    "enable": False,
                    "not_before_timeout": "string",
                },
                "terminate_notification_profile": {
                    "enable": False,
                    "not_before_timeout": "string",
                },
            },
            "security_posture_reference": {
                "id": "string",
                "exclude_extensions": ["string"],
                "is_overridable": False,
            },
            "security_profile": {
                "encryption_at_host": False,
                "encryption_identity": {
                    "user_assigned_identity_resource_id": "string",
                },
                "proxy_agent_settings": {
                    "enabled": False,
                    "imds": {
                        "in_vm_access_control_profile_reference_id": "string",
                        "mode": "string",
                    },
                    "key_incarnation_id": 0,
                    "mode": "string",
                    "wire_server": {
                        "in_vm_access_control_profile_reference_id": "string",
                        "mode": "string",
                    },
                },
                "security_type": "string",
                "uefi_settings": {
                    "secure_boot_enabled": False,
                    "v_tpm_enabled": False,
                },
            },
            "service_artifact_reference": {
                "id": "string",
            },
            "storage_profile": {
                "data_disks": [{
                    "create_option": "string",
                    "lun": 0,
                    "caching": azure_native.compute.CachingTypes.NONE,
                    "delete_option": "string",
                    "disk_iops_read_write": float(0),
                    "disk_m_bps_read_write": float(0),
                    "disk_size_gb": 0,
                    "managed_disk": {
                        "disk_encryption_set": {
                            "id": "string",
                        },
                        "security_profile": {
                            "disk_encryption_set": {
                                "id": "string",
                            },
                            "security_encryption_type": "string",
                        },
                        "storage_account_type": "string",
                    },
                    "name": "string",
                    "write_accelerator_enabled": False,
                }],
                "disk_controller_type": "string",
                "image_reference": {
                    "community_gallery_image_id": "string",
                    "id": "string",
                    "offer": "string",
                    "publisher": "string",
                    "shared_gallery_image_id": "string",
                    "sku": "string",
                    "version": "string",
                },
                "os_disk": {
                    "create_option": "string",
                    "caching": azure_native.compute.CachingTypes.NONE,
                    "delete_option": "string",
                    "diff_disk_settings": {
                        "option": "string",
                        "placement": "string",
                    },
                    "disk_size_gb": 0,
                    "image": {
                        "uri": "string",
                    },
                    "managed_disk": {
                        "disk_encryption_set": {
                            "id": "string",
                        },
                        "security_profile": {
                            "disk_encryption_set": {
                                "id": "string",
                            },
                            "security_encryption_type": "string",
                        },
                        "storage_account_type": "string",
                    },
                    "name": "string",
                    "os_type": azure_native.compute.OperatingSystemTypes.WINDOWS,
                    "vhd_containers": ["string"],
                    "write_accelerator_enabled": False,
                },
            },
            "user_data": "string",
        },
        do_not_run_extensions_on_overprovisioned_vms=False,
        extended_location={
            "name": "string",
            "type": "string",
        },
        automatic_repairs_policy={
            "enabled": False,
            "grace_period": "string",
            "repair_action": "string",
        },
        identity={
            "type": azure_native.compute.ResourceIdentityType.SYSTEM_ASSIGNED,
            "user_assigned_identities": ["string"],
        },
        location="string",
        orchestration_mode="string",
        overprovision=False,
        plan={
            "name": "string",
            "product": "string",
            "promotion_code": "string",
            "publisher": "string",
        },
        platform_fault_domain_count=0,
        priority_mix_policy={
            "base_regular_priority_count": 0,
            "regular_priority_percentage_above_base": 0,
        },
        constrained_maximum_capacity=False,
        proximity_placement_group={
            "id": "string",
        },
        host_group={
            "id": "string",
        },
        scale_in_policy={
            "force_deletion": False,
            "prioritize_unhealthy_vms": False,
            "rules": ["string"],
        },
        scheduled_events_policy={
            "scheduled_events_additional_publishing_targets": {
                "event_grid_and_resource_graph": {
                    "enable": False,
                },
            },
            "user_initiated_reboot": {
                "automatically_approve": False,
            },
            "user_initiated_redeploy": {
                "automatically_approve": False,
            },
        },
        single_placement_group=False,
        sku={
            "capacity": float(0),
            "name": "string",
            "tier": "string",
        },
        sku_profile={
            "allocation_strategy": "string",
            "vm_sizes": [{
                "name": "string",
                "rank": 0,
            }],
        },
        spot_restore_policy={
            "enabled": False,
            "restore_timeout": "string",
        },
        tags={
            "string": "string",
        },
        upgrade_policy={
            "automatic_os_upgrade_policy": {
                "disable_automatic_rollback": False,
                "enable_automatic_os_upgrade": False,
                "os_rolling_upgrade_deferral": False,
                "use_rolling_upgrade_policy": False,
            },
            "mode": azure_native.compute.UpgradeMode.AUTOMATIC,
            "rolling_upgrade_policy": {
                "enable_cross_zone_upgrade": False,
                "max_batch_instance_percent": 0,
                "max_surge": False,
                "max_unhealthy_instance_percent": 0,
                "max_unhealthy_upgraded_instance_percent": 0,
                "pause_time_between_batches": "string",
                "prioritize_unhealthy_instances": False,
                "rollback_failed_instances_on_policy_breach": False,
            },
        },
        additional_capabilities={
            "hibernation_enabled": False,
            "ultra_ssd_enabled": False,
        },
        vm_scale_set_name="string",
        zonal_platform_fault_domain_align_mode="string",
        zone_balance=False,
        zones=["string"])
    
    const virtualMachineScaleSetResource = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSetResource", {
        resourceGroupName: "string",
        resiliencyPolicy: {
            automaticZoneRebalancingPolicy: {
                enabled: false,
                rebalanceBehavior: "string",
                rebalanceStrategy: "string",
            },
            resilientVMCreationPolicy: {
                enabled: false,
            },
            resilientVMDeletionPolicy: {
                enabled: false,
            },
        },
        virtualMachineProfile: {
            applicationProfile: {
                galleryApplications: [{
                    packageReferenceId: "string",
                    configurationReference: "string",
                    enableAutomaticUpgrade: false,
                    order: 0,
                    tags: "string",
                    treatFailureAsDeploymentFailure: false,
                }],
            },
            billingProfile: {
                maxPrice: 0,
            },
            capacityReservation: {
                capacityReservationGroup: {
                    id: "string",
                },
            },
            diagnosticsProfile: {
                bootDiagnostics: {
                    enabled: false,
                    storageUri: "string",
                },
            },
            evictionPolicy: "string",
            extensionProfile: {
                extensions: [{
                    autoUpgradeMinorVersion: false,
                    enableAutomaticUpgrade: false,
                    forceUpdateTag: "string",
                    name: "string",
                    protectedSettings: "any",
                    protectedSettingsFromKeyVault: {
                        secretUrl: "string",
                        sourceVault: {
                            id: "string",
                        },
                    },
                    provisionAfterExtensions: ["string"],
                    publisher: "string",
                    settings: "any",
                    suppressFailures: false,
                    type: "string",
                    typeHandlerVersion: "string",
                }],
                extensionsTimeBudget: "string",
            },
            hardwareProfile: {
                vmSizeProperties: {
                    vCPUsAvailable: 0,
                    vCPUsPerCore: 0,
                },
            },
            licenseType: "string",
            networkProfile: {
                healthProbe: {
                    id: "string",
                },
                networkApiVersion: "string",
                networkInterfaceConfigurations: [{
                    ipConfigurations: [{
                        name: "string",
                        applicationGatewayBackendAddressPools: [{
                            id: "string",
                        }],
                        applicationSecurityGroups: [{
                            id: "string",
                        }],
                        loadBalancerBackendAddressPools: [{
                            id: "string",
                        }],
                        loadBalancerInboundNatPools: [{
                            id: "string",
                        }],
                        primary: false,
                        privateIPAddressVersion: "string",
                        publicIPAddressConfiguration: {
                            name: "string",
                            deleteOption: "string",
                            dnsSettings: {
                                domainNameLabel: "string",
                                domainNameLabelScope: "string",
                            },
                            idleTimeoutInMinutes: 0,
                            ipTags: [{
                                ipTagType: "string",
                                tag: "string",
                            }],
                            publicIPAddressVersion: "string",
                            publicIPPrefix: {
                                id: "string",
                            },
                            sku: {
                                name: "string",
                                tier: "string",
                            },
                        },
                        subnet: {
                            id: "string",
                        },
                    }],
                    name: "string",
                    auxiliaryMode: "string",
                    auxiliarySku: "string",
                    deleteOption: "string",
                    disableTcpStateTracking: false,
                    dnsSettings: {
                        dnsServers: ["string"],
                    },
                    enableAcceleratedNetworking: false,
                    enableFpga: false,
                    enableIPForwarding: false,
                    networkSecurityGroup: {
                        id: "string",
                    },
                    primary: false,
                }],
            },
            osProfile: {
                adminPassword: "string",
                adminUsername: "string",
                allowExtensionOperations: false,
                computerNamePrefix: "string",
                customData: "string",
                linuxConfiguration: {
                    disablePasswordAuthentication: false,
                    enableVMAgentPlatformUpdates: false,
                    patchSettings: {
                        assessmentMode: "string",
                        automaticByPlatformSettings: {
                            bypassPlatformSafetyChecksOnUserSchedule: false,
                            rebootSetting: "string",
                        },
                        patchMode: "string",
                    },
                    provisionVMAgent: false,
                    ssh: {
                        publicKeys: [{
                            keyData: "string",
                            path: "string",
                        }],
                    },
                },
                requireGuestProvisionSignal: false,
                secrets: [{
                    sourceVault: {
                        id: "string",
                    },
                    vaultCertificates: [{
                        certificateStore: "string",
                        certificateUrl: "string",
                    }],
                }],
                windowsConfiguration: {
                    additionalUnattendContent: [{
                        componentName: azure_native.compute.ComponentName.Microsoft_Windows_Shell_Setup,
                        content: "string",
                        passName: azure_native.compute.PassName.OobeSystem,
                        settingName: azure_native.compute.SettingNames.AutoLogon,
                    }],
                    enableAutomaticUpdates: false,
                    patchSettings: {
                        assessmentMode: "string",
                        automaticByPlatformSettings: {
                            bypassPlatformSafetyChecksOnUserSchedule: false,
                            rebootSetting: "string",
                        },
                        enableHotpatching: false,
                        patchMode: "string",
                    },
                    provisionVMAgent: false,
                    timeZone: "string",
                    winRM: {
                        listeners: [{
                            certificateUrl: "string",
                            protocol: azure_native.compute.ProtocolTypes.Http,
                        }],
                    },
                },
            },
            priority: "string",
            scheduledEventsProfile: {
                osImageNotificationProfile: {
                    enable: false,
                    notBeforeTimeout: "string",
                },
                terminateNotificationProfile: {
                    enable: false,
                    notBeforeTimeout: "string",
                },
            },
            securityPostureReference: {
                id: "string",
                excludeExtensions: ["string"],
                isOverridable: false,
            },
            securityProfile: {
                encryptionAtHost: false,
                encryptionIdentity: {
                    userAssignedIdentityResourceId: "string",
                },
                proxyAgentSettings: {
                    enabled: false,
                    imds: {
                        inVMAccessControlProfileReferenceId: "string",
                        mode: "string",
                    },
                    keyIncarnationId: 0,
                    mode: "string",
                    wireServer: {
                        inVMAccessControlProfileReferenceId: "string",
                        mode: "string",
                    },
                },
                securityType: "string",
                uefiSettings: {
                    secureBootEnabled: false,
                    vTpmEnabled: false,
                },
            },
            serviceArtifactReference: {
                id: "string",
            },
            storageProfile: {
                dataDisks: [{
                    createOption: "string",
                    lun: 0,
                    caching: azure_native.compute.CachingTypes.None,
                    deleteOption: "string",
                    diskIOPSReadWrite: 0,
                    diskMBpsReadWrite: 0,
                    diskSizeGB: 0,
                    managedDisk: {
                        diskEncryptionSet: {
                            id: "string",
                        },
                        securityProfile: {
                            diskEncryptionSet: {
                                id: "string",
                            },
                            securityEncryptionType: "string",
                        },
                        storageAccountType: "string",
                    },
                    name: "string",
                    writeAcceleratorEnabled: false,
                }],
                diskControllerType: "string",
                imageReference: {
                    communityGalleryImageId: "string",
                    id: "string",
                    offer: "string",
                    publisher: "string",
                    sharedGalleryImageId: "string",
                    sku: "string",
                    version: "string",
                },
                osDisk: {
                    createOption: "string",
                    caching: azure_native.compute.CachingTypes.None,
                    deleteOption: "string",
                    diffDiskSettings: {
                        option: "string",
                        placement: "string",
                    },
                    diskSizeGB: 0,
                    image: {
                        uri: "string",
                    },
                    managedDisk: {
                        diskEncryptionSet: {
                            id: "string",
                        },
                        securityProfile: {
                            diskEncryptionSet: {
                                id: "string",
                            },
                            securityEncryptionType: "string",
                        },
                        storageAccountType: "string",
                    },
                    name: "string",
                    osType: azure_native.compute.OperatingSystemTypes.Windows,
                    vhdContainers: ["string"],
                    writeAcceleratorEnabled: false,
                },
            },
            userData: "string",
        },
        doNotRunExtensionsOnOverprovisionedVMs: false,
        extendedLocation: {
            name: "string",
            type: "string",
        },
        automaticRepairsPolicy: {
            enabled: false,
            gracePeriod: "string",
            repairAction: "string",
        },
        identity: {
            type: azure_native.compute.ResourceIdentityType.SystemAssigned,
            userAssignedIdentities: ["string"],
        },
        location: "string",
        orchestrationMode: "string",
        overprovision: false,
        plan: {
            name: "string",
            product: "string",
            promotionCode: "string",
            publisher: "string",
        },
        platformFaultDomainCount: 0,
        priorityMixPolicy: {
            baseRegularPriorityCount: 0,
            regularPriorityPercentageAboveBase: 0,
        },
        constrainedMaximumCapacity: false,
        proximityPlacementGroup: {
            id: "string",
        },
        hostGroup: {
            id: "string",
        },
        scaleInPolicy: {
            forceDeletion: false,
            prioritizeUnhealthyVMs: false,
            rules: ["string"],
        },
        scheduledEventsPolicy: {
            scheduledEventsAdditionalPublishingTargets: {
                eventGridAndResourceGraph: {
                    enable: false,
                },
            },
            userInitiatedReboot: {
                automaticallyApprove: false,
            },
            userInitiatedRedeploy: {
                automaticallyApprove: false,
            },
        },
        singlePlacementGroup: false,
        sku: {
            capacity: 0,
            name: "string",
            tier: "string",
        },
        skuProfile: {
            allocationStrategy: "string",
            vmSizes: [{
                name: "string",
                rank: 0,
            }],
        },
        spotRestorePolicy: {
            enabled: false,
            restoreTimeout: "string",
        },
        tags: {
            string: "string",
        },
        upgradePolicy: {
            automaticOSUpgradePolicy: {
                disableAutomaticRollback: false,
                enableAutomaticOSUpgrade: false,
                osRollingUpgradeDeferral: false,
                useRollingUpgradePolicy: false,
            },
            mode: azure_native.compute.UpgradeMode.Automatic,
            rollingUpgradePolicy: {
                enableCrossZoneUpgrade: false,
                maxBatchInstancePercent: 0,
                maxSurge: false,
                maxUnhealthyInstancePercent: 0,
                maxUnhealthyUpgradedInstancePercent: 0,
                pauseTimeBetweenBatches: "string",
                prioritizeUnhealthyInstances: false,
                rollbackFailedInstancesOnPolicyBreach: false,
            },
        },
        additionalCapabilities: {
            hibernationEnabled: false,
            ultraSSDEnabled: false,
        },
        vmScaleSetName: "string",
        zonalPlatformFaultDomainAlignMode: "string",
        zoneBalance: false,
        zones: ["string"],
    });
    
    type: azure-native:compute:VirtualMachineScaleSet
    properties:
        additionalCapabilities:
            hibernationEnabled: false
            ultraSSDEnabled: false
        automaticRepairsPolicy:
            enabled: false
            gracePeriod: string
            repairAction: string
        constrainedMaximumCapacity: false
        doNotRunExtensionsOnOverprovisionedVMs: false
        extendedLocation:
            name: string
            type: string
        hostGroup:
            id: string
        identity:
            type: SystemAssigned
            userAssignedIdentities:
                - string
        location: string
        orchestrationMode: string
        overprovision: false
        plan:
            name: string
            product: string
            promotionCode: string
            publisher: string
        platformFaultDomainCount: 0
        priorityMixPolicy:
            baseRegularPriorityCount: 0
            regularPriorityPercentageAboveBase: 0
        proximityPlacementGroup:
            id: string
        resiliencyPolicy:
            automaticZoneRebalancingPolicy:
                enabled: false
                rebalanceBehavior: string
                rebalanceStrategy: string
            resilientVMCreationPolicy:
                enabled: false
            resilientVMDeletionPolicy:
                enabled: false
        resourceGroupName: string
        scaleInPolicy:
            forceDeletion: false
            prioritizeUnhealthyVMs: false
            rules:
                - string
        scheduledEventsPolicy:
            scheduledEventsAdditionalPublishingTargets:
                eventGridAndResourceGraph:
                    enable: false
            userInitiatedReboot:
                automaticallyApprove: false
            userInitiatedRedeploy:
                automaticallyApprove: false
        singlePlacementGroup: false
        sku:
            capacity: 0
            name: string
            tier: string
        skuProfile:
            allocationStrategy: string
            vmSizes:
                - name: string
                  rank: 0
        spotRestorePolicy:
            enabled: false
            restoreTimeout: string
        tags:
            string: string
        upgradePolicy:
            automaticOSUpgradePolicy:
                disableAutomaticRollback: false
                enableAutomaticOSUpgrade: false
                osRollingUpgradeDeferral: false
                useRollingUpgradePolicy: false
            mode: Automatic
            rollingUpgradePolicy:
                enableCrossZoneUpgrade: false
                maxBatchInstancePercent: 0
                maxSurge: false
                maxUnhealthyInstancePercent: 0
                maxUnhealthyUpgradedInstancePercent: 0
                pauseTimeBetweenBatches: string
                prioritizeUnhealthyInstances: false
                rollbackFailedInstancesOnPolicyBreach: false
        virtualMachineProfile:
            applicationProfile:
                galleryApplications:
                    - configurationReference: string
                      enableAutomaticUpgrade: false
                      order: 0
                      packageReferenceId: string
                      tags: string
                      treatFailureAsDeploymentFailure: false
            billingProfile:
                maxPrice: 0
            capacityReservation:
                capacityReservationGroup:
                    id: string
            diagnosticsProfile:
                bootDiagnostics:
                    enabled: false
                    storageUri: string
            evictionPolicy: string
            extensionProfile:
                extensions:
                    - autoUpgradeMinorVersion: false
                      enableAutomaticUpgrade: false
                      forceUpdateTag: string
                      name: string
                      protectedSettings: any
                      protectedSettingsFromKeyVault:
                        secretUrl: string
                        sourceVault:
                            id: string
                      provisionAfterExtensions:
                        - string
                      publisher: string
                      settings: any
                      suppressFailures: false
                      type: string
                      typeHandlerVersion: string
                extensionsTimeBudget: string
            hardwareProfile:
                vmSizeProperties:
                    vCPUsAvailable: 0
                    vCPUsPerCore: 0
            licenseType: string
            networkProfile:
                healthProbe:
                    id: string
                networkApiVersion: string
                networkInterfaceConfigurations:
                    - auxiliaryMode: string
                      auxiliarySku: string
                      deleteOption: string
                      disableTcpStateTracking: false
                      dnsSettings:
                        dnsServers:
                            - string
                      enableAcceleratedNetworking: false
                      enableFpga: false
                      enableIPForwarding: false
                      ipConfigurations:
                        - applicationGatewayBackendAddressPools:
                            - id: string
                          applicationSecurityGroups:
                            - id: string
                          loadBalancerBackendAddressPools:
                            - id: string
                          loadBalancerInboundNatPools:
                            - id: string
                          name: string
                          primary: false
                          privateIPAddressVersion: string
                          publicIPAddressConfiguration:
                            deleteOption: string
                            dnsSettings:
                                domainNameLabel: string
                                domainNameLabelScope: string
                            idleTimeoutInMinutes: 0
                            ipTags:
                                - ipTagType: string
                                  tag: string
                            name: string
                            publicIPAddressVersion: string
                            publicIPPrefix:
                                id: string
                            sku:
                                name: string
                                tier: string
                          subnet:
                            id: string
                      name: string
                      networkSecurityGroup:
                        id: string
                      primary: false
            osProfile:
                adminPassword: string
                adminUsername: string
                allowExtensionOperations: false
                computerNamePrefix: string
                customData: string
                linuxConfiguration:
                    disablePasswordAuthentication: false
                    enableVMAgentPlatformUpdates: false
                    patchSettings:
                        assessmentMode: string
                        automaticByPlatformSettings:
                            bypassPlatformSafetyChecksOnUserSchedule: false
                            rebootSetting: string
                        patchMode: string
                    provisionVMAgent: false
                    ssh:
                        publicKeys:
                            - keyData: string
                              path: string
                requireGuestProvisionSignal: false
                secrets:
                    - sourceVault:
                        id: string
                      vaultCertificates:
                        - certificateStore: string
                          certificateUrl: string
                windowsConfiguration:
                    additionalUnattendContent:
                        - componentName: Microsoft-Windows-Shell-Setup
                          content: string
                          passName: OobeSystem
                          settingName: AutoLogon
                    enableAutomaticUpdates: false
                    patchSettings:
                        assessmentMode: string
                        automaticByPlatformSettings:
                            bypassPlatformSafetyChecksOnUserSchedule: false
                            rebootSetting: string
                        enableHotpatching: false
                        patchMode: string
                    provisionVMAgent: false
                    timeZone: string
                    winRM:
                        listeners:
                            - certificateUrl: string
                              protocol: Http
            priority: string
            scheduledEventsProfile:
                osImageNotificationProfile:
                    enable: false
                    notBeforeTimeout: string
                terminateNotificationProfile:
                    enable: false
                    notBeforeTimeout: string
            securityPostureReference:
                excludeExtensions:
                    - string
                id: string
                isOverridable: false
            securityProfile:
                encryptionAtHost: false
                encryptionIdentity:
                    userAssignedIdentityResourceId: string
                proxyAgentSettings:
                    enabled: false
                    imds:
                        inVMAccessControlProfileReferenceId: string
                        mode: string
                    keyIncarnationId: 0
                    mode: string
                    wireServer:
                        inVMAccessControlProfileReferenceId: string
                        mode: string
                securityType: string
                uefiSettings:
                    secureBootEnabled: false
                    vTpmEnabled: false
            serviceArtifactReference:
                id: string
            storageProfile:
                dataDisks:
                    - caching: None
                      createOption: string
                      deleteOption: string
                      diskIOPSReadWrite: 0
                      diskMBpsReadWrite: 0
                      diskSizeGB: 0
                      lun: 0
                      managedDisk:
                        diskEncryptionSet:
                            id: string
                        securityProfile:
                            diskEncryptionSet:
                                id: string
                            securityEncryptionType: string
                        storageAccountType: string
                      name: string
                      writeAcceleratorEnabled: false
                diskControllerType: string
                imageReference:
                    communityGalleryImageId: string
                    id: string
                    offer: string
                    publisher: string
                    sharedGalleryImageId: string
                    sku: string
                    version: string
                osDisk:
                    caching: None
                    createOption: string
                    deleteOption: string
                    diffDiskSettings:
                        option: string
                        placement: string
                    diskSizeGB: 0
                    image:
                        uri: string
                    managedDisk:
                        diskEncryptionSet:
                            id: string
                        securityProfile:
                            diskEncryptionSet:
                                id: string
                            securityEncryptionType: string
                        storageAccountType: string
                    name: string
                    osType: Windows
                    vhdContainers:
                        - string
                    writeAcceleratorEnabled: false
            userData: string
        vmScaleSetName: string
        zonalPlatformFaultDomainAlignMode: string
        zoneBalance: false
        zones:
            - string
    

    VirtualMachineScaleSet 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 VirtualMachineScaleSet resource accepts the following input properties:

    ResourceGroupName string
    The name of the resource group. The name is case insensitive.
    AdditionalCapabilities Pulumi.AzureNative.Compute.Inputs.AdditionalCapabilities
    Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
    AutomaticRepairsPolicy Pulumi.AzureNative.Compute.Inputs.AutomaticRepairsPolicy
    Policy for automatic repairs.
    ConstrainedMaximumCapacity bool
    Optional property which must either be set to True or omitted.
    DoNotRunExtensionsOnOverprovisionedVMs bool
    When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs.
    ExtendedLocation Pulumi.AzureNative.Compute.Inputs.ExtendedLocation
    The extended location of the Virtual Machine Scale Set.
    HostGroup Pulumi.AzureNative.Compute.Inputs.SubResource
    Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
    Identity Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetIdentity
    The identity of the virtual machine scale set, if configured.
    Location string
    The geo-location where the resource lives
    OrchestrationMode string | Pulumi.AzureNative.Compute.OrchestrationMode
    Specifies the orchestration mode for the virtual machine scale set.
    Overprovision bool
    Specifies whether the Virtual Machine Scale Set should be overprovisioned.
    Plan Pulumi.AzureNative.Compute.Inputs.Plan
    Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
    PlatformFaultDomainCount int
    Fault Domain count for each placement group.
    PriorityMixPolicy Pulumi.AzureNative.Compute.Inputs.PriorityMixPolicy
    Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance.
    ProximityPlacementGroup Pulumi.AzureNative.Compute.Inputs.SubResource
    Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01.
    ResiliencyPolicy Pulumi.AzureNative.Compute.Inputs.ResiliencyPolicy
    Policy for Resiliency
    ScaleInPolicy Pulumi.AzureNative.Compute.Inputs.ScaleInPolicy
    Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.
    ScheduledEventsPolicy Pulumi.AzureNative.Compute.Inputs.ScheduledEventsPolicy
    The ScheduledEventsPolicy.
    SinglePlacementGroup bool
    When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true.
    Sku Pulumi.AzureNative.Compute.Inputs.Sku
    The virtual machine scale set sku.
    SkuProfile Pulumi.AzureNative.Compute.Inputs.SkuProfile
    Specifies the sku profile for the virtual machine scale set.
    SpotRestorePolicy Pulumi.AzureNative.Compute.Inputs.SpotRestorePolicy
    Specifies the Spot Restore properties for the virtual machine scale set.
    Tags Dictionary<string, string>
    Resource tags.
    UpgradePolicy Pulumi.AzureNative.Compute.Inputs.UpgradePolicy
    The upgrade policy.
    VirtualMachineProfile Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetVMProfile
    The virtual machine profile.
    VmScaleSetName string
    The name of the VM scale set.
    ZonalPlatformFaultDomainAlignMode string | Pulumi.AzureNative.Compute.ZonalPlatformFaultDomainAlignMode
    Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count.
    ZoneBalance bool
    Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set.
    Zones List<string>
    The availability zones.
    ResourceGroupName string
    The name of the resource group. The name is case insensitive.
    AdditionalCapabilities AdditionalCapabilitiesArgs
    Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
    AutomaticRepairsPolicy AutomaticRepairsPolicyArgs
    Policy for automatic repairs.
    ConstrainedMaximumCapacity bool
    Optional property which must either be set to True or omitted.
    DoNotRunExtensionsOnOverprovisionedVMs bool
    When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs.
    ExtendedLocation ExtendedLocationArgs
    The extended location of the Virtual Machine Scale Set.
    HostGroup SubResourceArgs
    Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
    Identity VirtualMachineScaleSetIdentityArgs
    The identity of the virtual machine scale set, if configured.
    Location string
    The geo-location where the resource lives
    OrchestrationMode string | OrchestrationMode
    Specifies the orchestration mode for the virtual machine scale set.
    Overprovision bool
    Specifies whether the Virtual Machine Scale Set should be overprovisioned.
    Plan PlanArgs
    Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
    PlatformFaultDomainCount int
    Fault Domain count for each placement group.
    PriorityMixPolicy PriorityMixPolicyArgs
    Specifies the desired targets for mixing Spot and Regular priority VMs within the same VMSS Flex instance.
    ProximityPlacementGroup SubResourceArgs
    Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01.
    ResiliencyPolicy ResiliencyPolicyArgs
    Policy for Resiliency
    ScaleInPolicy ScaleInPolicyArgs
    Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set.
    ScheduledEventsPolicy ScheduledEventsPolicyArgs
    The ScheduledEventsPolicy.
    SinglePlacementGroup bool
    When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true.
    Sku SkuArgs
    The virtual machine scale set sku.
    SkuProfile SkuProfileArgs
    Specifies the sku profile for the virtual machine scale set.
    SpotRestorePolicy SpotRestorePolicyArgs
    Specifies the Spot Restore properties for the virtual machine scale set.
    Tags map[string]string
    Resource tags.
    UpgradePolicy UpgradePolicyArgs
    The upgrade policy.
    VirtualMachineProfile VirtualMachineScaleSetVMProfileArgs
    The virtual machine profile.
    VmScaleSetName string
    The name of the VM scale set.
    ZonalPlatformFaultDomainAlignMode string | ZonalPlatformFaultDomainAlignMode
    Specifies the align mode between Virtual Machine Scale Set compute and storage Fault Domain count.
    ZoneBalance bool
    Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set.
    Zones []string
    The availability zones.
    resource_group_name string
    The name of the resource group. The name is case insensitive.
    additional_capabilities object
    Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type.
    automatic_repairs_policy object
    Policy for automatic repairs.
    constrained_maximum_capacity bool
    Optional property which must either be set to True or omitted.
    do_not_run_extensions_on_overprovisioned_v_ms bool
    When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs.
    extended_location object
    The extended location of the Virtual Machine Scale Set.
    host_group object
    Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
    identity object
    The identity of the virtual machine scale set, if configured.
    location string
    The geo-location where the resource lives
    orchestration_mode string | "Uniform" | "Flexible"
    Specifies the orchestration mode for the virtual machine scale set.
    overprovision bool
    Specifies whether the Virtual Machine Scale Set should be overprovisioned.