1. Packages
  2. Azure Native v1
  3. API Docs
  4. compute
  5. VirtualMachineScaleSet
These are the docs for Azure Native v1. We recommenend using the latest version, Azure Native v2.
Azure Native v1 v1.104.0 published on Thursday, Jul 6, 2023 by Pulumi

azure-native.compute.VirtualMachineScaleSet

Explore with Pulumi AI

azure-native-v1 logo
These are the docs for Azure Native v1. We recommenend using the latest version, Azure Native v2.
Azure Native v1 v1.104.0 published on Thursday, Jul 6, 2023 by Pulumi

    Describes a Virtual Machine Scale Set. API Version: 2021-03-01.

    Example Usage

    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 = "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}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.of("osDisk", Map.ofEntries(
                        Map.entry("caching", "ReadWrite"),
                        Map.entry("createOption", "FromImage"),
                        Map.entry("image", Map.of("uri", "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd")),
                        Map.entry("name", "osDisk")
                    )))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "image": azure_native.compute.VirtualHardDiskArgs(
                        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}")
    
    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: "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}",
    });
    
    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 = "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}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("name", "osDisk"),
                            Map.entry("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}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": azure_native.compute.VirtualMachineScaleSetOSDiskArgs(
                    caching=azure_native.compute.CachingTypes.READ_WRITE,
                    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}")
    
    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: "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}",
    });
    
    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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}")),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage")),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage")),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/mySharedGallery/images/mySharedImage",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 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 = "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 = "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 = "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 = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_DS1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("dataDisks", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "Empty"),
                            Map.entry("diskSizeGB", 1023),
                            Map.entry("lun", 0),
                            Map.entry("managedDisk", Map.ofEntries(
                                Map.entry("diskEncryptionSet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}")),
                                Map.entry("storageAccountType", "Standard_LRS")
                            ))
                        )),
                        Map.entry("imageReference", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}")),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.ofEntries(
                                Map.entry("diskEncryptionSet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}")),
                                Map.entry("storageAccountType", "Standard_LRS")
                            ))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_DS1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "dataDisks": [{
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "Empty",
                    "diskSizeGB": 1023,
                    "lun": 0,
                    "managedDisk": {
                        "diskEncryptionSet": azure_native.compute.DiskEncryptionSetParametersArgs(
                            id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
                        ),
                        "storageAccountType": "Standard_LRS",
                    },
                }],
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": {
                        "diskEncryptionSet": azure_native.compute.DiskEncryptionSetParametersArgs(
                            id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
                        ),
                        "storageAccountType": "Standard_LRS",
                    },
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "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: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: "FromImage",
                    managedDisk: {
                        diskEncryptionSet: {
                            id: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
                        },
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations",                 
                        Map.ofEntries(
                            Map.entry("enableIPForwarding", true),
                            Map.entry("ipConfigurations", Map.ofEntries(
                                Map.entry("name", "{vmss-name}"),
                                Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                            )),
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("primary", true)
                        ),
                        Map.ofEntries(
                            Map.entry("enableAcceleratedNetworking", false),
                            Map.entry("enableFpga", true),
                            Map.entry("enableIPForwarding", false),
                            Map.entry("ipConfigurations", Map.ofEntries(
                                Map.entry("name", "{fpgaNic-Name}"),
                                Map.entry("primary", true),
                                Map.entry("privateIPAddressVersion", "IPv4"),
                                Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-fpga-subnet-name}"))
                            )),
                            Map.entry("name", "{fpgaNic-Name}"),
                            Map.entry("primary", false)
                        ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}")),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [
                    {
                        "enableIPForwarding": True,
                        "ipConfigurations": [{
                            "name": "{vmss-name}",
                            "subnet": azure_native.compute.ApiEntityReferenceArgs(
                                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": azure_native.compute.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,
                    },
                ],
            },
            os_profile=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .plan(Map.ofEntries(
                    Map.entry("name", "windows2016"),
                    Map.entry("product", "windows-data-science-vm"),
                    Map.entry("publisher", "microsoft-ads")
                ))
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_DS1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("securityProfile", Map.of("encryptionAtHost", true)),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "windows-data-science-vm"),
                            Map.entry("publisher", "microsoft-ads"),
                            Map.entry("sku", "windows2016"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadOnly"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        plan=azure_native.compute.PlanArgs(
            name="windows2016",
            product="windows-data-science-vm",
            publisher="microsoft-ads",
        ),
        resource_group_name="myResourceGroup",
        sku=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_DS1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            security_profile=azure_native.compute.SecurityProfileArgs(
                encryption_at_host=True,
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="windows-data-science-vm",
                    publisher="microsoft-ads",
                    sku="windows2016",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 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 = "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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "StandardSSD_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D2s_v3"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("securityProfile", Map.ofEntries(
                        Map.entry("securityType", "TrustedLaunch"),
                        Map.entry("uefiSettings", Map.ofEntries(
                            Map.entry("secureBootEnabled", true),
                            Map.entry("vTpmEnabled", true)
                        ))
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "windowsserver-gen2preview-preview"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "windows10-tvm"),
                            Map.entry("version", "18363.592.2001092016")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadOnly"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "StandardSSD_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D2s_v3",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            security_profile={
                "securityType": "TrustedLaunch",
                "uefiSettings": azure_native.compute.UefiSettingsArgs(
                    secure_boot_enabled=True,
                    v_tpm_enabled=True,
                ),
            },
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="windowsserver-gen2preview-preview",
                    publisher="MicrosoftWindowsServer",
                    sku="windows10-tvm",
                    version="18363.592.2001092016",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="StandardSSD_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "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: "FromImage",
                    managedDisk: {
                        storageAccountType: "StandardSSD_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .plan(Map.ofEntries(
                    Map.entry("name", "windows2016"),
                    Map.entry("product", "windows-data-science-vm"),
                    Map.entry("publisher", "microsoft-ads")
                ))
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "windows-data-science-vm"),
                            Map.entry("publisher", "microsoft-ads"),
                            Map.entry("sku", "windows2016"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        plan=azure_native.compute.PlanArgs(
            name="windows2016",
            product="windows-data-science-vm",
            publisher="microsoft-ads",
        ),
        resource_group_name="myResourceGroup",
        sku=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="windows-data-science-vm",
                    publisher="microsoft-ads",
                    sku="windows2016",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("applicationGatewayBackendAddressPools", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}")),
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "applicationGatewayBackendAddressPools": [azure_native.compute.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": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("loadBalancerBackendAddressPools", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}")),
                            Map.entry("loadBalancerInboundNatPools", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}")),
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("publicIPAddressConfiguration", Map.ofEntries(
                                Map.entry("name", "{vmss-name}"),
                                Map.entry("publicIPAddressVersion", "IPv4")
                            )),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "loadBalancerBackendAddressPools": [azure_native.compute.SubResourceArgs(
                            id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}",
                        )],
                        "loadBalancerInboundNatPools": [azure_native.compute.SubResourceArgs(
                            id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}",
                        )],
                        "name": "{vmss-name}",
                        "publicIPAddressConfiguration": azure_native.compute.VirtualMachineScaleSetPublicIPAddressConfigurationArgs(
                            name="{vmss-name}",
                            public_ip_address_version="IPv4",
                        ),
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "PT30M",
            },
            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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .automaticRepairsPolicy(Map.ofEntries(
                    Map.entry("enabled", true),
                    Map.entry("gracePeriod", "PT30M")
                ))
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        automatic_repairs_policy=azure_native.compute.AutomaticRepairsPolicyArgs(
            enabled=True,
            grace_period="PT30M",
        ),
        location="westus",
        overprovision=True,
        resource_group_name="myResourceGroup",
        sku=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "PT30M",
        },
        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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{vmss-name}",
    });
    
    resources:
      virtualMachineScaleSet:
        type: azure-native:compute:VirtualMachineScaleSet
        properties:
          automaticRepairsPolicy:
            enabled: true
            gracePeriod: PT30M
          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 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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("diagnosticsProfile", Map.of("bootDiagnostics", Map.ofEntries(
                        Map.entry("enabled", true),
                        Map.entry("storageUri", "http://{existing-storage-account-name}.blob.core.windows.net")
                    ))),
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            diagnostics_profile={
                "bootDiagnostics": azure_native.compute.BootDiagnosticsArgs(
                    enabled=True,
                    storage_uri="http://{existing-storage-account-name}.blob.core.windows.net",
                ),
            },
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "Empty",
                            DiskSizeGB = 1023,
                            Lun = 0,
                        },
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDiskArgs
                        {
                            CreateOption = "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 = "FromImage",
                        DiskSizeGB = 512,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D2_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("dataDisks",                     
                            Map.ofEntries(
                                Map.entry("createOption", "Empty"),
                                Map.entry("diskSizeGB", 1023),
                                Map.entry("lun", 0)
                            ),
                            Map.ofEntries(
                                Map.entry("createOption", "Empty"),
                                Map.entry("diskSizeGB", 1023),
                                Map.entry("lun", 1)
                            )),
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("diskSizeGB", 512),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D2_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "dataDisks": [
                    azure_native.compute.VirtualMachineScaleSetDataDiskArgs(
                        create_option="Empty",
                        disk_size_gb=1023,
                        lun=0,
                    ),
                    azure_native.compute.VirtualMachineScaleSetDataDiskArgs(
                        create_option="Empty",
                        disk_size_gb=1023,
                        lun=1,
                    ),
                ],
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "diskSizeGB": 512,
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "Empty",
                        diskSizeGB: 1023,
                        lun: 0,
                    },
                    {
                        createOption: "Empty",
                        diskSizeGB: 1023,
                        lun: 1,
                    },
                ],
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: "FromImage",
                    diskSizeGB: 512,
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 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 = "FromImage",
                        DiffDiskSettings = new AzureNative.Compute.Inputs.DiffDiskSettingsArgs
                        {
                            Option = "Local",
                            Placement = "ResourceDisk",
                        },
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .plan(Map.ofEntries(
                    Map.entry("name", "windows2016"),
                    Map.entry("product", "windows-data-science-vm"),
                    Map.entry("publisher", "microsoft-ads")
                ))
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_DS1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "windows-data-science-vm"),
                            Map.entry("publisher", "microsoft-ads"),
                            Map.entry("sku", "windows2016"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadOnly"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("diffDiskSettings", Map.ofEntries(
                                Map.entry("option", "Local"),
                                Map.entry("placement", "ResourceDisk")
                            )),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        plan=azure_native.compute.PlanArgs(
            name="windows2016",
            product="windows-data-science-vm",
            publisher="microsoft-ads",
        ),
        resource_group_name="myResourceGroup",
        sku=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_DS1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="windows-data-science-vm",
                    publisher="microsoft-ads",
                    sku="windows2016",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "createOption": "FromImage",
                    "diffDiskSettings": azure_native.compute.DiffDiskSettingsArgs(
                        option="Local",
                        placement="ResourceDisk",
                    ),
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    diffDiskSettings: {
                        option: "Local",
                        placement: "ResourceDisk",
                    },
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        DiffDiskSettings = new AzureNative.Compute.Inputs.DiffDiskSettingsArgs
                        {
                            Option = "Local",
                        },
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .plan(Map.ofEntries(
                    Map.entry("name", "windows2016"),
                    Map.entry("product", "windows-data-science-vm"),
                    Map.entry("publisher", "microsoft-ads")
                ))
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_DS1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "windows-data-science-vm"),
                            Map.entry("publisher", "microsoft-ads"),
                            Map.entry("sku", "windows2016"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadOnly"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("diffDiskSettings", Map.of("option", "Local")),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    virtual_machine_scale_set = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSet",
        location="westus",
        overprovision=True,
        plan=azure_native.compute.PlanArgs(
            name="windows2016",
            product="windows-data-science-vm",
            publisher="microsoft-ads",
        ),
        resource_group_name="myResourceGroup",
        sku=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_DS1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="windows-data-science-vm",
                    publisher="microsoft-ads",
                    sku="windows2016",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_ONLY,
                    "createOption": "FromImage",
                    "diffDiskSettings": azure_native.compute.DiffDiskSettingsArgs(
                        option="Local",
                    ),
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    diffDiskSettings: {
                        option: "Local",
                    },
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("diagnosticsProfile", Map.of("bootDiagnostics", Map.ofEntries(
                        Map.entry("enabled", true),
                        Map.entry("storageUri", "http://{existing-storage-account-name}.blob.core.windows.net")
                    ))),
                    Map.entry("extensionProfile", Map.ofEntries(
                        Map.entry("extensions", Map.ofEntries(
                            Map.entry("autoUpgradeMinorVersion", false),
                            Map.entry("name", "{extension-name}"),
                            Map.entry("publisher", "{extension-Publisher}"),
                            Map.entry("settings", ),
                            Map.entry("type", "{extension-Type}"),
                            Map.entry("typeHandlerVersion", "{handler-version}")
                        )),
                        Map.entry("extensionsTimeBudget", "PT1H20M")
                    )),
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            diagnostics_profile={
                "bootDiagnostics": azure_native.compute.BootDiagnosticsArgs(
                    enabled=True,
                    storage_uri="http://{existing-storage-account-name}.blob.core.windows.net",
                ),
            },
            extension_profile={
                "extensions": [azure_native.compute.VirtualMachineScaleSetExtensionArgs(
                    auto_upgrade_minor_version=False,
                    name="{extension-name}",
                    publisher="{extension-Publisher}",
                    settings={},
                    type="{extension-Type}",
                    type_handler_version="{handler-version}",
                )],
                "extensionsTimeBudget": "PT1H20M",
            },
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("diagnosticsProfile", Map.of("bootDiagnostics", Map.of("enabled", true))),
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            diagnostics_profile={
                "bootDiagnostics": azure_native.compute.BootDiagnosticsArgs(
                    enabled=True,
                ),
            },
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Premium_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Premium_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Premium_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Premium_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}"),
                        Map.entry("linuxConfiguration", Map.ofEntries(
                            Map.entry("disablePasswordAuthentication", true),
                            Map.entry("ssh", Map.of("publicKeys", Map.ofEntries(
                                Map.entry("keyData", "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"),
                                Map.entry("path", "/home/{your-username}/.ssh/authorized_keys")
                            )))
                        ))
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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={
                "adminUsername": "{your-username}",
                "computerNamePrefix": "{vmss-name}",
                "linuxConfiguration": {
                    "disablePasswordAuthentication": True,
                    "ssh": {
                        "publicKeys": [azure_native.compute.SshPublicKeyArgs(
                            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={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("scheduledEventsProfile", Map.of("terminateNotificationProfile", Map.ofEntries(
                        Map.entry("enable", true),
                        Map.entry("notBeforeTimeout", "PT5M")
                    ))),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            scheduled_events_profile={
                "terminateNotificationProfile": azure_native.compute.TerminateNotificationProfileArgs(
                    enable=True,
                    not_before_timeout="PT5M",
                ),
            },
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 = "FromImage",
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
                UserData = "RXhhbXBsZSBVc2VyRGF0YQ==",
            },
            VmScaleSetName = "{vmss-name}",
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("westus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 3),
                    Map.entry("name", "Standard_D1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Manual"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    )),
                    Map.entry("userData", "RXhhbXBsZSBVc2VyRGF0YQ==")
                ))
                .vmScaleSetName("{vmss-name}")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=3,
            name="Standard_D1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.MANUAL,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
            user_data="RXhhbXBsZSBVc2VyRGF0YQ==",
        ),
        vm_scale_set_name="{vmss-name}")
    
    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: "FromImage",
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
            userData: "RXhhbXBsZSBVc2VyRGF0YQ==",
        },
        vmScaleSetName: "{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 = "Empty",
                            DiskSizeGB = 1023,
                            Lun = 0,
                        },
                        new AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDiskArgs
                        {
                            CreateOption = "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 = "FromImage",
                        DiskSizeGB = 512,
                        ManagedDisk = new AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersArgs
                        {
                            StorageAccountType = "Standard_LRS",
                        },
                    },
                },
            },
            VmScaleSetName = "{vmss-name}",
            Zones = new[]
            {
                "1",
                "3",
            },
        });
    
    });
    

    Coming soon!

    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 java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var virtualMachineScaleSet = new VirtualMachineScaleSet("virtualMachineScaleSet", VirtualMachineScaleSetArgs.builder()        
                .location("centralus")
                .overprovision(true)
                .resourceGroupName("myResourceGroup")
                .sku(Map.ofEntries(
                    Map.entry("capacity", 2),
                    Map.entry("name", "Standard_A1_v2"),
                    Map.entry("tier", "Standard")
                ))
                .upgradePolicy(Map.of("mode", "Automatic"))
                .virtualMachineProfile(Map.ofEntries(
                    Map.entry("networkProfile", Map.of("networkInterfaceConfigurations", Map.ofEntries(
                        Map.entry("enableIPForwarding", true),
                        Map.entry("ipConfigurations", Map.ofEntries(
                            Map.entry("name", "{vmss-name}"),
                            Map.entry("subnet", Map.of("id", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"))
                        )),
                        Map.entry("name", "{vmss-name}"),
                        Map.entry("primary", true)
                    ))),
                    Map.entry("osProfile", Map.ofEntries(
                        Map.entry("adminPassword", "{your-password}"),
                        Map.entry("adminUsername", "{your-username}"),
                        Map.entry("computerNamePrefix", "{vmss-name}")
                    )),
                    Map.entry("storageProfile", Map.ofEntries(
                        Map.entry("dataDisks",                     
                            Map.ofEntries(
                                Map.entry("createOption", "Empty"),
                                Map.entry("diskSizeGB", 1023),
                                Map.entry("lun", 0)
                            ),
                            Map.ofEntries(
                                Map.entry("createOption", "Empty"),
                                Map.entry("diskSizeGB", 1023),
                                Map.entry("lun", 1)
                            )),
                        Map.entry("imageReference", Map.ofEntries(
                            Map.entry("offer", "WindowsServer"),
                            Map.entry("publisher", "MicrosoftWindowsServer"),
                            Map.entry("sku", "2016-Datacenter"),
                            Map.entry("version", "latest")
                        )),
                        Map.entry("osDisk", Map.ofEntries(
                            Map.entry("caching", "ReadWrite"),
                            Map.entry("createOption", "FromImage"),
                            Map.entry("diskSizeGB", 512),
                            Map.entry("managedDisk", Map.of("storageAccountType", "Standard_LRS"))
                        ))
                    ))
                ))
                .vmScaleSetName("{vmss-name}")
                .zones(            
                    "1",
                    "3")
                .build());
    
        }
    }
    
    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=azure_native.compute.SkuArgs(
            capacity=2,
            name="Standard_A1_v2",
            tier="Standard",
        ),
        upgrade_policy=azure_native.compute.UpgradePolicyArgs(
            mode=azure_native.compute.UpgradeMode.AUTOMATIC,
        ),
        virtual_machine_profile=azure_native.compute.VirtualMachineScaleSetVMProfileResponseArgs(
            network_profile={
                "networkInterfaceConfigurations": [{
                    "enableIPForwarding": True,
                    "ipConfigurations": [{
                        "name": "{vmss-name}",
                        "subnet": azure_native.compute.ApiEntityReferenceArgs(
                            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=azure_native.compute.VirtualMachineScaleSetOSProfileArgs(
                admin_password="{your-password}",
                admin_username="{your-username}",
                computer_name_prefix="{vmss-name}",
            ),
            storage_profile={
                "dataDisks": [
                    azure_native.compute.VirtualMachineScaleSetDataDiskArgs(
                        create_option="Empty",
                        disk_size_gb=1023,
                        lun=0,
                    ),
                    azure_native.compute.VirtualMachineScaleSetDataDiskArgs(
                        create_option="Empty",
                        disk_size_gb=1023,
                        lun=1,
                    ),
                ],
                "imageReference": azure_native.compute.ImageReferenceArgs(
                    offer="WindowsServer",
                    publisher="MicrosoftWindowsServer",
                    sku="2016-Datacenter",
                    version="latest",
                ),
                "osDisk": {
                    "caching": azure_native.compute.CachingTypes.READ_WRITE,
                    "createOption": "FromImage",
                    "diskSizeGB": 512,
                    "managedDisk": azure_native.compute.VirtualMachineScaleSetManagedDiskParametersArgs(
                        storage_account_type="Standard_LRS",
                    ),
                },
            },
        ),
        vm_scale_set_name="{vmss-name}",
        zones=[
            "1",
            "3",
        ])
    
    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: "Empty",
                        diskSizeGB: 1023,
                        lun: 0,
                    },
                    {
                        createOption: "Empty",
                        diskSizeGB: 1023,
                        lun: 1,
                    },
                ],
                imageReference: {
                    offer: "WindowsServer",
                    publisher: "MicrosoftWindowsServer",
                    sku: "2016-Datacenter",
                    version: "latest",
                },
                osDisk: {
                    caching: azure_native.compute.CachingTypes.ReadWrite,
                    createOption: "FromImage",
                    diskSizeGB: 512,
                    managedDisk: {
                        storageAccountType: "Standard_LRS",
                    },
                },
            },
        },
        vmScaleSetName: "{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 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,
                               platform_fault_domain_count: Optional[int] = None,
                               identity: Optional[VirtualMachineScaleSetIdentityArgs] = None,
                               proximity_placement_group: Optional[SubResourceArgs] = None,
                               scale_in_policy: Optional[ScaleInPolicyArgs] = None,
                               automatic_repairs_policy: Optional[AutomaticRepairsPolicyArgs] = None,
                               location: Optional[str] = None,
                               orchestration_mode: Optional[Union[str, OrchestrationMode]] = None,
                               overprovision: Optional[bool] = None,
                               plan: Optional[PlanArgs] = None,
                               additional_capabilities: Optional[AdditionalCapabilitiesArgs] = None,
                               extended_location: Optional[ExtendedLocationArgs] = None,
                               do_not_run_extensions_on_overprovisioned_vms: Optional[bool] = None,
                               host_group: Optional[SubResourceArgs] = None,
                               single_placement_group: Optional[bool] = None,
                               sku: Optional[SkuArgs] = None,
                               tags: Optional[Mapping[str, str]] = None,
                               upgrade_policy: Optional[UpgradePolicyArgs] = None,
                               virtual_machine_profile: Optional[VirtualMachineScaleSetVMProfileArgs] = None,
                               vm_scale_set_name: Optional[str] = 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.
    
    

    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",
        PlatformFaultDomainCount = 0,
        Identity = 
        {
            { "type", "SystemAssigned" },
            { "userAssignedIdentities", 
            {
                { "string", "any" },
            } },
        },
        ProximityPlacementGroup = 
        {
            { "id", "string" },
        },
        ScaleInPolicy = 
        {
            { "rules", new[]
            {
                "string",
            } },
        },
        AutomaticRepairsPolicy = 
        {
            { "enabled", false },
            { "gracePeriod", "string" },
        },
        Location = "string",
        OrchestrationMode = "string",
        Overprovision = false,
        Plan = 
        {
            { "name", "string" },
            { "product", "string" },
            { "promotionCode", "string" },
            { "publisher", "string" },
        },
        AdditionalCapabilities = 
        {
            { "ultraSSDEnabled", false },
        },
        ExtendedLocation = 
        {
            { "name", "string" },
            { "type", "string" },
        },
        DoNotRunExtensionsOnOverprovisionedVMs = false,
        HostGroup = 
        {
            { "id", "string" },
        },
        SinglePlacementGroup = false,
        Sku = 
        {
            { "capacity", 0 },
            { "name", "string" },
            { "tier", "string" },
        },
        Tags = 
        {
            { "string", "string" },
        },
        UpgradePolicy = 
        {
            { "automaticOSUpgradePolicy", 
            {
                { "disableAutomaticRollback", false },
                { "enableAutomaticOSUpgrade", false },
            } },
            { "mode", "Automatic" },
            { "rollingUpgradePolicy", 
            {
                { "enableCrossZoneUpgrade", false },
                { "maxBatchInstancePercent", 0 },
                { "maxUnhealthyInstancePercent", 0 },
                { "maxUnhealthyUpgradedInstancePercent", 0 },
                { "pauseTimeBetweenBatches", "string" },
                { "prioritizeUnhealthyInstances", false },
            } },
        },
        VirtualMachineProfile = 
        {
            { "billingProfile", 
            {
                { "maxPrice", 0 },
            } },
            { "diagnosticsProfile", 
            {
                { "bootDiagnostics", 
                {
                    { "enabled", false },
                    { "storageUri", "string" },
                } },
            } },
            { "evictionPolicy", "string" },
            { "extensionProfile", 
            {
                { "extensions", new[]
                {
                    
                    {
                        { "autoUpgradeMinorVersion", false },
                        { "enableAutomaticUpgrade", false },
                        { "forceUpdateTag", "string" },
                        { "name", "string" },
                        { "protectedSettings", "any" },
                        { "provisionAfterExtensions", new[]
                        {
                            "string",
                        } },
                        { "publisher", "string" },
                        { "settings", "any" },
                        { "type", "string" },
                        { "typeHandlerVersion", "string" },
                    },
                } },
                { "extensionsTimeBudget", "string" },
            } },
            { "licenseType", "string" },
            { "networkProfile", 
            {
                { "healthProbe", 
                {
                    { "id", "string" },
                } },
                { "networkApiVersion", "string" },
                { "networkInterfaceConfigurations", new[]
                {
                    
                    {
                        { "ipConfigurations", new[]
                        {
                            
                            {
                                { "name", "string" },
                                { "applicationGatewayBackendAddressPools", new[]
                                {
                                    
                                    {
                                        { "id", "string" },
                                    },
                                } },
                                { "applicationSecurityGroups", new[]
                                {
                                    
                                    {
                                        { "id", "string" },
                                    },
                                } },
                                { "id", "string" },
                                { "loadBalancerBackendAddressPools", new[]
                                {
                                    
                                    {
                                        { "id", "string" },
                                    },
                                } },
                                { "loadBalancerInboundNatPools", new[]
                                {
                                    
                                    {
                                        { "id", "string" },
                                    },
                                } },
                                { "primary", false },
                                { "privateIPAddressVersion", "string" },
                                { "publicIPAddressConfiguration", 
                                {
                                    { "name", "string" },
                                    { "deleteOption", "string" },
                                    { "dnsSettings", 
                                    {
                                        { "domainNameLabel", "string" },
                                    } },
                                    { "idleTimeoutInMinutes", 0 },
                                    { "ipTags", new[]
                                    {
                                        
                                        {
                                            { "ipTagType", "string" },
                                            { "tag", "string" },
                                        },
                                    } },
                                    { "publicIPAddressVersion", "string" },
                                    { "publicIPPrefix", 
                                    {
                                        { "id", "string" },
                                    } },
                                    { "sku", 
                                    {
                                        { "name", "string" },
                                        { "tier", "string" },
                                    } },
                                } },
                                { "subnet", 
                                {
                                    { "id", "string" },
                                } },
                            },
                        } },
                        { "name", "string" },
                        { "deleteOption", "string" },
                        { "dnsSettings", 
                        {
                            { "dnsServers", new[]
                            {
                                "string",
                            } },
                        } },
                        { "enableAcceleratedNetworking", false },
                        { "enableFpga", false },
                        { "enableIPForwarding", false },
                        { "id", "string" },
                        { "networkSecurityGroup", 
                        {
                            { "id", "string" },
                        } },
                        { "primary", false },
                    },
                } },
            } },
            { "osProfile", 
            {
                { "adminPassword", "string" },
                { "adminUsername", "string" },
                { "computerNamePrefix", "string" },
                { "customData", "string" },
                { "linuxConfiguration", 
                {
                    { "disablePasswordAuthentication", false },
                    { "patchSettings", 
                    {
                        { "assessmentMode", "string" },
                        { "patchMode", "string" },
                    } },
                    { "provisionVMAgent", false },
                    { "ssh", 
                    {
                        { "publicKeys", new[]
                        {
                            
                            {
                                { "keyData", "string" },
                                { "path", "string" },
                            },
                        } },
                    } },
                } },
                { "secrets", new[]
                {
                    
                    {
                        { "sourceVault", 
                        {
                            { "id", "string" },
                        } },
                        { "vaultCertificates", new[]
                        {
                            
                            {
                                { "certificateStore", "string" },
                                { "certificateUrl", "string" },
                            },
                        } },
                    },
                } },
                { "windowsConfiguration", 
                {
                    { "additionalUnattendContent", new[]
                    {
                        
                        {
                            { "componentName", "Microsoft-Windows-Shell-Setup" },
                            { "content", "string" },
                            { "passName", "OobeSystem" },
                            { "settingName", "AutoLogon" },
                        },
                    } },
                    { "enableAutomaticUpdates", false },
                    { "patchSettings", 
                    {
                        { "assessmentMode", "string" },
                        { "enableHotpatching", false },
                        { "patchMode", "string" },
                    } },
                    { "provisionVMAgent", false },
                    { "timeZone", "string" },
                    { "winRM", 
                    {
                        { "listeners", new[]
                        {
                            
                            {
                                { "certificateUrl", "string" },
                                { "protocol", "Http" },
                            },
                        } },
                    } },
                } },
            } },
            { "priority", "string" },
            { "scheduledEventsProfile", 
            {
                { "terminateNotificationProfile", 
                {
                    { "enable", false },
                    { "notBeforeTimeout", "string" },
                } },
            } },
            { "securityProfile", 
            {
                { "encryptionAtHost", false },
                { "securityType", "string" },
                { "uefiSettings", 
                {
                    { "secureBootEnabled", false },
                    { "vTpmEnabled", false },
                } },
            } },
            { "storageProfile", 
            {
                { "dataDisks", new[]
                {
                    
                    {
                        { "createOption", "string" },
                        { "lun", 0 },
                        { "caching", "None" },
                        { "diskIOPSReadWrite", 0 },
                        { "diskMBpsReadWrite", 0 },
                        { "diskSizeGB", 0 },
                        { "managedDisk", 
                        {
                            { "diskEncryptionSet", 
                            {
                                { "id", "string" },
                            } },
                            { "storageAccountType", "string" },
                        } },
                        { "name", "string" },
                        { "writeAcceleratorEnabled", false },
                    },
                } },
                { "imageReference", 
                {
                    { "id", "string" },
                    { "offer", "string" },
                    { "publisher", "string" },
                    { "sku", "string" },
                    { "version", "string" },
                } },
                { "osDisk", 
                {
                    { "createOption", "string" },
                    { "caching", "None" },
                    { "diffDiskSettings", 
                    {
                        { "option", "string" },
                        { "placement", "string" },
                    } },
                    { "diskSizeGB", 0 },
                    { "image", 
                    {
                        { "uri", "string" },
                    } },
                    { "managedDisk", 
                    {
                        { "diskEncryptionSet", 
                        {
                            { "id", "string" },
                        } },
                        { "storageAccountType", "string" },
                    } },
                    { "name", "string" },
                    { "osType", "Windows" },
                    { "vhdContainers", new[]
                    {
                        "string",
                    } },
                    { "writeAcceleratorEnabled", false },
                } },
            } },
            { "userData", "string" },
        },
        VmScaleSetName = "string",
        ZoneBalance = false,
        Zones = new[]
        {
            "string",
        },
    });
    
    example, err := compute.NewVirtualMachineScaleSet(ctx, "virtualMachineScaleSetResource", &compute.VirtualMachineScaleSetArgs{
    	ResourceGroupName:        "string",
    	PlatformFaultDomainCount: 0,
    	Identity: map[string]interface{}{
    		"type": "SystemAssigned",
    		"userAssignedIdentities": map[string]interface{}{
    			"string": "any",
    		},
    	},
    	ProximityPlacementGroup: map[string]interface{}{
    		"id": "string",
    	},
    	ScaleInPolicy: map[string]interface{}{
    		"rules": []string{
    			"string",
    		},
    	},
    	AutomaticRepairsPolicy: map[string]interface{}{
    		"enabled":     false,
    		"gracePeriod": "string",
    	},
    	Location:          "string",
    	OrchestrationMode: "string",
    	Overprovision:     false,
    	Plan: map[string]interface{}{
    		"name":          "string",
    		"product":       "string",
    		"promotionCode": "string",
    		"publisher":     "string",
    	},
    	AdditionalCapabilities: map[string]interface{}{
    		"ultraSSDEnabled": false,
    	},
    	ExtendedLocation: map[string]interface{}{
    		"name": "string",
    		"type": "string",
    	},
    	DoNotRunExtensionsOnOverprovisionedVMs: false,
    	HostGroup: map[string]interface{}{
    		"id": "string",
    	},
    	SinglePlacementGroup: false,
    	Sku: map[string]interface{}{
    		"capacity": 0,
    		"name":     "string",
    		"tier":     "string",
    	},
    	Tags: map[string]interface{}{
    		"string": "string",
    	},
    	UpgradePolicy: map[string]interface{}{
    		"automaticOSUpgradePolicy": map[string]interface{}{
    			"disableAutomaticRollback": false,
    			"enableAutomaticOSUpgrade": false,
    		},
    		"mode": "Automatic",
    		"rollingUpgradePolicy": map[string]interface{}{
    			"enableCrossZoneUpgrade":              false,
    			"maxBatchInstancePercent":             0,
    			"maxUnhealthyInstancePercent":         0,
    			"maxUnhealthyUpgradedInstancePercent": 0,
    			"pauseTimeBetweenBatches":             "string",
    			"prioritizeUnhealthyInstances":        false,
    		},
    	},
    	VirtualMachineProfile: map[string]interface{}{
    		"billingProfile": map[string]interface{}{
    			"maxPrice": 0,
    		},
    		"diagnosticsProfile": map[string]interface{}{
    			"bootDiagnostics": map[string]interface{}{
    				"enabled":    false,
    				"storageUri": "string",
    			},
    		},
    		"evictionPolicy": "string",
    		"extensionProfile": map[string]interface{}{
    			"extensions": []map[string]interface{}{
    				map[string]interface{}{
    					"autoUpgradeMinorVersion": false,
    					"enableAutomaticUpgrade":  false,
    					"forceUpdateTag":          "string",
    					"name":                    "string",
    					"protectedSettings":       "any",
    					"provisionAfterExtensions": []string{
    						"string",
    					},
    					"publisher":          "string",
    					"settings":           "any",
    					"type":               "string",
    					"typeHandlerVersion": "string",
    				},
    			},
    			"extensionsTimeBudget": "string",
    		},
    		"licenseType": "string",
    		"networkProfile": map[string]interface{}{
    			"healthProbe": map[string]interface{}{
    				"id": "string",
    			},
    			"networkApiVersion": "string",
    			"networkInterfaceConfigurations": []map[string]interface{}{
    				map[string]interface{}{
    					"ipConfigurations": []map[string]interface{}{
    						map[string]interface{}{
    							"name": "string",
    							"applicationGatewayBackendAddressPools": []map[string]interface{}{
    								map[string]interface{}{
    									"id": "string",
    								},
    							},
    							"applicationSecurityGroups": []map[string]interface{}{
    								map[string]interface{}{
    									"id": "string",
    								},
    							},
    							"id": "string",
    							"loadBalancerBackendAddressPools": []map[string]interface{}{
    								map[string]interface{}{
    									"id": "string",
    								},
    							},
    							"loadBalancerInboundNatPools": []map[string]interface{}{
    								map[string]interface{}{
    									"id": "string",
    								},
    							},
    							"primary":                 false,
    							"privateIPAddressVersion": "string",
    							"publicIPAddressConfiguration": map[string]interface{}{
    								"name":         "string",
    								"deleteOption": "string",
    								"dnsSettings": map[string]interface{}{
    									"domainNameLabel": "string",
    								},
    								"idleTimeoutInMinutes": 0,
    								"ipTags": []map[string]interface{}{
    									map[string]interface{}{
    										"ipTagType": "string",
    										"tag":       "string",
    									},
    								},
    								"publicIPAddressVersion": "string",
    								"publicIPPrefix": map[string]interface{}{
    									"id": "string",
    								},
    								"sku": map[string]interface{}{
    									"name": "string",
    									"tier": "string",
    								},
    							},
    							"subnet": map[string]interface{}{
    								"id": "string",
    							},
    						},
    					},
    					"name":         "string",
    					"deleteOption": "string",
    					"dnsSettings": map[string]interface{}{
    						"dnsServers": []string{
    							"string",
    						},
    					},
    					"enableAcceleratedNetworking": false,
    					"enableFpga":                  false,
    					"enableIPForwarding":          false,
    					"id":                          "string",
    					"networkSecurityGroup": map[string]interface{}{
    						"id": "string",
    					},
    					"primary": false,
    				},
    			},
    		},
    		"osProfile": map[string]interface{}{
    			"adminPassword":      "string",
    			"adminUsername":      "string",
    			"computerNamePrefix": "string",
    			"customData":         "string",
    			"linuxConfiguration": map[string]interface{}{
    				"disablePasswordAuthentication": false,
    				"patchSettings": map[string]interface{}{
    					"assessmentMode": "string",
    					"patchMode":      "string",
    				},
    				"provisionVMAgent": false,
    				"ssh": map[string]interface{}{
    					"publicKeys": []map[string]interface{}{
    						map[string]interface{}{
    							"keyData": "string",
    							"path":    "string",
    						},
    					},
    				},
    			},
    			"secrets": []map[string]interface{}{
    				map[string]interface{}{
    					"sourceVault": map[string]interface{}{
    						"id": "string",
    					},
    					"vaultCertificates": []map[string]interface{}{
    						map[string]interface{}{
    							"certificateStore": "string",
    							"certificateUrl":   "string",
    						},
    					},
    				},
    			},
    			"windowsConfiguration": map[string]interface{}{
    				"additionalUnattendContent": []map[string]interface{}{
    					map[string]interface{}{
    						"componentName": "Microsoft-Windows-Shell-Setup",
    						"content":       "string",
    						"passName":      "OobeSystem",
    						"settingName":   "AutoLogon",
    					},
    				},
    				"enableAutomaticUpdates": false,
    				"patchSettings": map[string]interface{}{
    					"assessmentMode":    "string",
    					"enableHotpatching": false,
    					"patchMode":         "string",
    				},
    				"provisionVMAgent": false,
    				"timeZone":         "string",
    				"winRM": map[string]interface{}{
    					"listeners": []map[string]interface{}{
    						map[string]interface{}{
    							"certificateUrl": "string",
    							"protocol":       "Http",
    						},
    					},
    				},
    			},
    		},
    		"priority": "string",
    		"scheduledEventsProfile": map[string]interface{}{
    			"terminateNotificationProfile": map[string]interface{}{
    				"enable":           false,
    				"notBeforeTimeout": "string",
    			},
    		},
    		"securityProfile": map[string]interface{}{
    			"encryptionAtHost": false,
    			"securityType":     "string",
    			"uefiSettings": map[string]interface{}{
    				"secureBootEnabled": false,
    				"vTpmEnabled":       false,
    			},
    		},
    		"storageProfile": map[string]interface{}{
    			"dataDisks": []map[string]interface{}{
    				map[string]interface{}{
    					"createOption":      "string",
    					"lun":               0,
    					"caching":           "None",
    					"diskIOPSReadWrite": 0,
    					"diskMBpsReadWrite": 0,
    					"diskSizeGB":        0,
    					"managedDisk": map[string]interface{}{
    						"diskEncryptionSet": map[string]interface{}{
    							"id": "string",
    						},
    						"storageAccountType": "string",
    					},
    					"name":                    "string",
    					"writeAcceleratorEnabled": false,
    				},
    			},
    			"imageReference": map[string]interface{}{
    				"id":        "string",
    				"offer":     "string",
    				"publisher": "string",
    				"sku":       "string",
    				"version":   "string",
    			},
    			"osDisk": map[string]interface{}{
    				"createOption": "string",
    				"caching":      "None",
    				"diffDiskSettings": map[string]interface{}{
    					"option":    "string",
    					"placement": "string",
    				},
    				"diskSizeGB": 0,
    				"image": map[string]interface{}{
    					"uri": "string",
    				},
    				"managedDisk": map[string]interface{}{
    					"diskEncryptionSet": map[string]interface{}{
    						"id": "string",
    					},
    					"storageAccountType": "string",
    				},
    				"name":   "string",
    				"osType": "Windows",
    				"vhdContainers": []string{
    					"string",
    				},
    				"writeAcceleratorEnabled": false,
    			},
    		},
    		"userData": "string",
    	},
    	VmScaleSetName: "string",
    	ZoneBalance:    false,
    	Zones: []string{
    		"string",
    	},
    })
    
    var virtualMachineScaleSetResource = new VirtualMachineScaleSet("virtualMachineScaleSetResource", VirtualMachineScaleSetArgs.builder()
        .resourceGroupName("string")
        .platformFaultDomainCount(0)
        .identity(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .proximityPlacementGroup(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .scaleInPolicy(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .automaticRepairsPolicy(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .location("string")
        .orchestrationMode("string")
        .overprovision(false)
        .plan(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .additionalCapabilities(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .extendedLocation(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .doNotRunExtensionsOnOverprovisionedVMs(false)
        .hostGroup(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .singlePlacementGroup(false)
        .sku(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .tags(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .upgradePolicy(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .virtualMachineProfile(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
        .vmScaleSetName("string")
        .zoneBalance(false)
        .zones("string")
        .build());
    
    virtual_machine_scale_set_resource = azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSetResource",
        resource_group_name=string,
        platform_fault_domain_count=0,
        identity={
            type: SystemAssigned,
            userAssignedIdentities: {
                string: any,
            },
        },
        proximity_placement_group={
            id: string,
        },
        scale_in_policy={
            rules: [string],
        },
        automatic_repairs_policy={
            enabled: False,
            gracePeriod: string,
        },
        location=string,
        orchestration_mode=string,
        overprovision=False,
        plan={
            name: string,
            product: string,
            promotionCode: string,
            publisher: string,
        },
        additional_capabilities={
            ultraSSDEnabled: False,
        },
        extended_location={
            name: string,
            type: string,
        },
        do_not_run_extensions_on_overprovisioned_vms=False,
        host_group={
            id: string,
        },
        single_placement_group=False,
        sku={
            capacity: 0,
            name: string,
            tier: string,
        },
        tags={
            string: string,
        },
        upgrade_policy={
            automaticOSUpgradePolicy: {
                disableAutomaticRollback: False,
                enableAutomaticOSUpgrade: False,
            },
            mode: Automatic,
            rollingUpgradePolicy: {
                enableCrossZoneUpgrade: False,
                maxBatchInstancePercent: 0,
                maxUnhealthyInstancePercent: 0,
                maxUnhealthyUpgradedInstancePercent: 0,
                pauseTimeBetweenBatches: string,
                prioritizeUnhealthyInstances: False,
            },
        },
        virtual_machine_profile={
            billingProfile: {
                maxPrice: 0,
            },
            diagnosticsProfile: {
                bootDiagnostics: {
                    enabled: False,
                    storageUri: string,
                },
            },
            evictionPolicy: string,
            extensionProfile: {
                extensions: [{
                    autoUpgradeMinorVersion: False,
                    enableAutomaticUpgrade: False,
                    forceUpdateTag: string,
                    name: string,
                    protectedSettings: any,
                    provisionAfterExtensions: [string],
                    publisher: string,
                    settings: any,
                    type: string,
                    typeHandlerVersion: string,
                }],
                extensionsTimeBudget: string,
            },
            licenseType: string,
            networkProfile: {
                healthProbe: {
                    id: string,
                },
                networkApiVersion: string,
                networkInterfaceConfigurations: [{
                    ipConfigurations: [{
                        name: string,
                        applicationGatewayBackendAddressPools: [{
                            id: string,
                        }],
                        applicationSecurityGroups: [{
                            id: string,
                        }],
                        id: string,
                        loadBalancerBackendAddressPools: [{
                            id: string,
                        }],
                        loadBalancerInboundNatPools: [{
                            id: string,
                        }],
                        primary: False,
                        privateIPAddressVersion: string,
                        publicIPAddressConfiguration: {
                            name: string,
                            deleteOption: string,
                            dnsSettings: {
                                domainNameLabel: string,
                            },
                            idleTimeoutInMinutes: 0,
                            ipTags: [{
                                ipTagType: string,
                                tag: string,
                            }],
                            publicIPAddressVersion: string,
                            publicIPPrefix: {
                                id: string,
                            },
                            sku: {
                                name: string,
                                tier: string,
                            },
                        },
                        subnet: {
                            id: string,
                        },
                    }],
                    name: string,
                    deleteOption: string,
                    dnsSettings: {
                        dnsServers: [string],
                    },
                    enableAcceleratedNetworking: False,
                    enableFpga: False,
                    enableIPForwarding: False,
                    id: string,
                    networkSecurityGroup: {
                        id: string,
                    },
                    primary: False,
                }],
            },
            osProfile: {
                adminPassword: string,
                adminUsername: string,
                computerNamePrefix: string,
                customData: string,
                linuxConfiguration: {
                    disablePasswordAuthentication: False,
                    patchSettings: {
                        assessmentMode: string,
                        patchMode: string,
                    },
                    provisionVMAgent: False,
                    ssh: {
                        publicKeys: [{
                            keyData: string,
                            path: string,
                        }],
                    },
                },
                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,
                        enableHotpatching: False,
                        patchMode: string,
                    },
                    provisionVMAgent: False,
                    timeZone: string,
                    winRM: {
                        listeners: [{
                            certificateUrl: string,
                            protocol: Http,
                        }],
                    },
                },
            },
            priority: string,
            scheduledEventsProfile: {
                terminateNotificationProfile: {
                    enable: False,
                    notBeforeTimeout: string,
                },
            },
            securityProfile: {
                encryptionAtHost: False,
                securityType: string,
                uefiSettings: {
                    secureBootEnabled: False,
                    vTpmEnabled: False,
                },
            },
            storageProfile: {
                dataDisks: [{
                    createOption: string,
                    lun: 0,
                    caching: None,
                    diskIOPSReadWrite: 0,
                    diskMBpsReadWrite: 0,
                    diskSizeGB: 0,
                    managedDisk: {
                        diskEncryptionSet: {
                            id: string,
                        },
                        storageAccountType: string,
                    },
                    name: string,
                    writeAcceleratorEnabled: False,
                }],
                imageReference: {
                    id: string,
                    offer: string,
                    publisher: string,
                    sku: string,
                    version: string,
                },
                osDisk: {
                    createOption: string,
                    caching: None,
                    diffDiskSettings: {
                        option: string,
                        placement: string,
                    },
                    diskSizeGB: 0,
                    image: {
                        uri: string,
                    },
                    managedDisk: {
                        diskEncryptionSet: {
                            id: string,
                        },
                        storageAccountType: string,
                    },
                    name: string,
                    osType: Windows,
                    vhdContainers: [string],
                    writeAcceleratorEnabled: False,
                },
            },
            userData: string,
        },
        vm_scale_set_name=string,
        zone_balance=False,
        zones=[string])
    
    const virtualMachineScaleSetResource = new azure_native.compute.VirtualMachineScaleSet("virtualMachineScaleSetResource", {
        resourceGroupName: "string",
        platformFaultDomainCount: 0,
        identity: {
            type: "SystemAssigned",
            userAssignedIdentities: {
                string: "any",
            },
        },
        proximityPlacementGroup: {
            id: "string",
        },
        scaleInPolicy: {
            rules: ["string"],
        },
        automaticRepairsPolicy: {
            enabled: false,
            gracePeriod: "string",
        },
        location: "string",
        orchestrationMode: "string",
        overprovision: false,
        plan: {
            name: "string",
            product: "string",
            promotionCode: "string",
            publisher: "string",
        },
        additionalCapabilities: {
            ultraSSDEnabled: false,
        },
        extendedLocation: {
            name: "string",
            type: "string",
        },
        doNotRunExtensionsOnOverprovisionedVMs: false,
        hostGroup: {
            id: "string",
        },
        singlePlacementGroup: false,
        sku: {
            capacity: 0,
            name: "string",
            tier: "string",
        },
        tags: {
            string: "string",
        },
        upgradePolicy: {
            automaticOSUpgradePolicy: {
                disableAutomaticRollback: false,
                enableAutomaticOSUpgrade: false,
            },
            mode: "Automatic",
            rollingUpgradePolicy: {
                enableCrossZoneUpgrade: false,
                maxBatchInstancePercent: 0,
                maxUnhealthyInstancePercent: 0,
                maxUnhealthyUpgradedInstancePercent: 0,
                pauseTimeBetweenBatches: "string",
                prioritizeUnhealthyInstances: false,
            },
        },
        virtualMachineProfile: {
            billingProfile: {
                maxPrice: 0,
            },
            diagnosticsProfile: {
                bootDiagnostics: {
                    enabled: false,
                    storageUri: "string",
                },
            },
            evictionPolicy: "string",
            extensionProfile: {
                extensions: [{
                    autoUpgradeMinorVersion: false,
                    enableAutomaticUpgrade: false,
                    forceUpdateTag: "string",
                    name: "string",
                    protectedSettings: "any",
                    provisionAfterExtensions: ["string"],
                    publisher: "string",
                    settings: "any",
                    type: "string",
                    typeHandlerVersion: "string",
                }],
                extensionsTimeBudget: "string",
            },
            licenseType: "string",
            networkProfile: {
                healthProbe: {
                    id: "string",
                },
                networkApiVersion: "string",
                networkInterfaceConfigurations: [{
                    ipConfigurations: [{
                        name: "string",
                        applicationGatewayBackendAddressPools: [{
                            id: "string",
                        }],
                        applicationSecurityGroups: [{
                            id: "string",
                        }],
                        id: "string",
                        loadBalancerBackendAddressPools: [{
                            id: "string",
                        }],
                        loadBalancerInboundNatPools: [{
                            id: "string",
                        }],
                        primary: false,
                        privateIPAddressVersion: "string",
                        publicIPAddressConfiguration: {
                            name: "string",
                            deleteOption: "string",
                            dnsSettings: {
                                domainNameLabel: "string",
                            },
                            idleTimeoutInMinutes: 0,
                            ipTags: [{
                                ipTagType: "string",
                                tag: "string",
                            }],
                            publicIPAddressVersion: "string",
                            publicIPPrefix: {
                                id: "string",
                            },
                            sku: {
                                name: "string",
                                tier: "string",
                            },
                        },
                        subnet: {
                            id: "string",
                        },
                    }],
                    name: "string",
                    deleteOption: "string",
                    dnsSettings: {
                        dnsServers: ["string"],
                    },
                    enableAcceleratedNetworking: false,
                    enableFpga: false,
                    enableIPForwarding: false,
                    id: "string",
                    networkSecurityGroup: {
                        id: "string",
                    },
                    primary: false,
                }],
            },
            osProfile: {
                adminPassword: "string",
                adminUsername: "string",
                computerNamePrefix: "string",
                customData: "string",
                linuxConfiguration: {
                    disablePasswordAuthentication: false,
                    patchSettings: {
                        assessmentMode: "string",
                        patchMode: "string",
                    },
                    provisionVMAgent: false,
                    ssh: {
                        publicKeys: [{
                            keyData: "string",
                            path: "string",
                        }],
                    },
                },
                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",
                        enableHotpatching: false,
                        patchMode: "string",
                    },
                    provisionVMAgent: false,
                    timeZone: "string",
                    winRM: {
                        listeners: [{
                            certificateUrl: "string",
                            protocol: "Http",
                        }],
                    },
                },
            },
            priority: "string",
            scheduledEventsProfile: {
                terminateNotificationProfile: {
                    enable: false,
                    notBeforeTimeout: "string",
                },
            },
            securityProfile: {
                encryptionAtHost: false,
                securityType: "string",
                uefiSettings: {
                    secureBootEnabled: false,
                    vTpmEnabled: false,
                },
            },
            storageProfile: {
                dataDisks: [{
                    createOption: "string",
                    lun: 0,
                    caching: "None",
                    diskIOPSReadWrite: 0,
                    diskMBpsReadWrite: 0,
                    diskSizeGB: 0,
                    managedDisk: {
                        diskEncryptionSet: {
                            id: "string",
                        },
                        storageAccountType: "string",
                    },
                    name: "string",
                    writeAcceleratorEnabled: false,
                }],
                imageReference: {
                    id: "string",
                    offer: "string",
                    publisher: "string",
                    sku: "string",
                    version: "string",
                },
                osDisk: {
                    createOption: "string",
                    caching: "None",
                    diffDiskSettings: {
                        option: "string",
                        placement: "string",
                    },
                    diskSizeGB: 0,
                    image: {
                        uri: "string",
                    },
                    managedDisk: {
                        diskEncryptionSet: {
                            id: "string",
                        },
                        storageAccountType: "string",
                    },
                    name: "string",
                    osType: "Windows",
                    vhdContainers: ["string"],
                    writeAcceleratorEnabled: false,
                },
            },
            userData: "string",
        },
        vmScaleSetName: "string",
        zoneBalance: false,
        zones: ["string"],
    });
    
    type: azure-native:compute:VirtualMachineScaleSet
    properties:
        additionalCapabilities:
            ultraSSDEnabled: false
        automaticRepairsPolicy:
            enabled: false
            gracePeriod: string
        doNotRunExtensionsOnOverprovisionedVMs: false
        extendedLocation:
            name: string
            type: string
        hostGroup:
            id: string
        identity:
            type: SystemAssigned
            userAssignedIdentities:
                string: any
        location: string
        orchestrationMode: string
        overprovision: false
        plan:
            name: string
            product: string
            promotionCode: string
            publisher: string
        platformFaultDomainCount: 0
        proximityPlacementGroup:
            id: string
        resourceGroupName: string
        scaleInPolicy:
            rules:
                - string
        singlePlacementGroup: false
        sku:
            capacity: 0
            name: string
            tier: string
        tags:
            string: string
        upgradePolicy:
            automaticOSUpgradePolicy:
                disableAutomaticRollback: false
                enableAutomaticOSUpgrade: false
            mode: Automatic
            rollingUpgradePolicy:
                enableCrossZoneUpgrade: false
                maxBatchInstancePercent: 0
                maxUnhealthyInstancePercent: 0
                maxUnhealthyUpgradedInstancePercent: 0
                pauseTimeBetweenBatches: string
                prioritizeUnhealthyInstances: false
        virtualMachineProfile:
            billingProfile:
                maxPrice: 0
            diagnosticsProfile:
                bootDiagnostics:
                    enabled: false
                    storageUri: string
            evictionPolicy: string
            extensionProfile:
                extensions:
                    - autoUpgradeMinorVersion: false
                      enableAutomaticUpgrade: false
                      forceUpdateTag: string
                      name: string
                      protectedSettings: any
                      provisionAfterExtensions:
                        - string
                      publisher: string
                      settings: any
                      type: string
                      typeHandlerVersion: string
                extensionsTimeBudget: string
            licenseType: string
            networkProfile:
                healthProbe:
                    id: string
                networkApiVersion: string
                networkInterfaceConfigurations:
                    - deleteOption: string
                      dnsSettings:
                        dnsServers:
                            - string
                      enableAcceleratedNetworking: false
                      enableFpga: false
                      enableIPForwarding: false
                      id: string
                      ipConfigurations:
                        - applicationGatewayBackendAddressPools:
                            - id: string
                          applicationSecurityGroups:
                            - id: string
                          id: string
                          loadBalancerBackendAddressPools:
                            - id: string
                          loadBalancerInboundNatPools:
                            - id: string
                          name: string
                          primary: false
                          privateIPAddressVersion: string
                          publicIPAddressConfiguration:
                            deleteOption: string
                            dnsSettings:
                                domainNameLabel: 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
                computerNamePrefix: string
                customData: string
                linuxConfiguration:
                    disablePasswordAuthentication: false
                    patchSettings:
                        assessmentMode: string
                        patchMode: string
                    provisionVMAgent: false
                    ssh:
                        publicKeys:
                            - keyData: string
                              path: string
                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
                        enableHotpatching: false
                        patchMode: string
                    provisionVMAgent: false
                    timeZone: string
                    winRM:
                        listeners:
                            - certificateUrl: string
                              protocol: Http
            priority: string
            scheduledEventsProfile:
                terminateNotificationProfile:
                    enable: false
                    notBeforeTimeout: string
            securityProfile:
                encryptionAtHost: false
                securityType: string
                uefiSettings:
                    secureBootEnabled: false
                    vTpmEnabled: false
            storageProfile:
                dataDisks:
                    - caching: None
                      createOption: string
                      diskIOPSReadWrite: 0
                      diskMBpsReadWrite: 0
                      diskSizeGB: 0
                      lun: 0
                      managedDisk:
                        diskEncryptionSet:
                            id: string
                        storageAccountType: string
                      name: string
                      writeAcceleratorEnabled: false
                imageReference:
                    id: string
                    offer: string
                    publisher: string
                    sku: string
                    version: string
                osDisk:
                    caching: None
                    createOption: string
                    diffDiskSettings:
                        option: string
                        placement: string
                    diskSizeGB: 0
                    image:
                        uri: string
                    managedDisk:
                        diskEncryptionSet:
                            id: string
                        storageAccountType: string
                    name: string
                    osType: Windows
                    vhdContainers:
                        - string
                    writeAcceleratorEnabled: false
            userData: string
        vmScaleSetName: 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.
    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.
    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
    Resource location
    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.
    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.
    ScaleInPolicy Pulumi.AzureNative.Compute.Inputs.ScaleInPolicy
    Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in.
    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.
    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 to create or update.
    ZoneBalance bool
    Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.
    Zones List<string>
    The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set
    ResourceGroupName string
    The name of the resource group.
    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.
    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
    Resource location
    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.
    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.
    ScaleInPolicy ScaleInPolicyArgs
    Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in.
    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.
    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 to create or update.
    ZoneBalance bool
    Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.
    Zones []string
    The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set
    resourceGroupName String
    The name of the resource group.
    additionalCapabilities 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 AutomaticRepairsPolicy
    Policy for automatic repairs.
    doNotRunExtensionsOnOverprovisionedVMs Boolean
    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 ExtendedLocation
    The extended location of the Virtual Machine Scale Set.
    hostGroup SubResource
    Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
    identity VirtualMachineScaleSetIdentity
    The identity of the virtual machine scale set, if configured.
    location String
    Resource location
    orchestrationMode String | OrchestrationMode
    Specifies the orchestration mode for the virtual machine scale set.
    overprovision Boolean
    Specifies whether the Virtual Machine Scale Set should be overprovisioned.
    plan 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 Integer
    Fault Domain count for each placement group.
    proximityPlacementGroup SubResource
    Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01.
    scaleInPolicy ScaleInPolicy
    Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in.
    singlePlacementGroup Boolean
    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 Sku
    The virtual machine scale set sku.
    tags Map<String,String>
    Resource tags
    upgradePolicy UpgradePolicy
    The upgrade policy.
    virtualMachineProfile VirtualMachineScaleSetVMProfile
    The virtual machine profile.
    vmScaleSetName String
    The name of the VM scale set to create or update.
    zoneBalance Boolean
    Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.
    zones List<String>
    The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set
    resourceGroupName string
    The name of the resource group.
    additionalCapabilities 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 AutomaticRepairsPolicy
    Policy for automatic repairs.
    doNotRunExtensionsOnOverprovisionedVMs boolean
    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 ExtendedLocation
    The extended location of the Virtual Machine Scale Set.
    hostGroup SubResource
    Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
    identity VirtualMachineScaleSetIdentity
    The identity of the virtual machine scale set, if configured.
    location string
    Resource location
    orchestrationMode string | OrchestrationMode
    Specifies the orchestration mode for the virtual machine scale set.
    overprovision boolean
    Specifies whether the Virtual Machine Scale Set should be overprovisioned.
    plan 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 number
    Fault Domain count for each placement group.
    proximityPlacementGroup SubResource
    Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01.
    scaleInPolicy ScaleInPolicy
    Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in.
    singlePlacementGroup boolean
    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 Sku
    The virtual machine scale set sku.
    tags {[key: string]: string}
    Resource tags
    upgradePolicy UpgradePolicy
    The upgrade policy.
    virtualMachineProfile VirtualMachineScaleSetVMProfile
    The virtual machine profile.
    vmScaleSetName string
    The name of the VM scale set to create or update.
    zoneBalance boolean
    Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.
    zones string[]
    The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set
    resource_group_name str
    The name of the resource group.
    additional_capabilities 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.
    automatic_repairs_policy AutomaticRepairsPolicyArgs
    Policy for automatic repairs.
    do_not_run_extensions_on_overprovisioned_vms 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 ExtendedLocationArgs
    The extended location of the Virtual Machine Scale Set.
    host_group 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 str
    Resource location
    orchestration_mode str | 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.
    platform_fault_domain_count int
    Fault Domain count for each placement group.
    proximity_placement_group SubResourceArgs
    Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01.
    scale_in_policy ScaleInPolicyArgs
    Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in.
    single_placement_group 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.
    tags Mapping[str, str]
    Resource tags
    upgrade_policy UpgradePolicyArgs
    The upgrade policy.
    virtual_machine_profile VirtualMachineScaleSetVMProfileArgs
    The virtual machine profile.
    vm_scale_set_name str
    The name of the VM scale set to create or update.
    zone_balance bool
    Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.
    zones Sequence[str]
    The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set
    resourceGroupName String
    The name of the resource group.
    additionalCapabilities Property Map
    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 Property Map
    Policy for automatic repairs.
    doNotRunExtensionsOnOverprovisionedVMs Boolean
    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 Property Map
    The extended location of the Virtual Machine Scale Set.
    hostGroup Property Map
    Specifies information about the dedicated host group that the virtual machine scale set resides in. Minimum api-version: 2020-06-01.
    identity Property Map
    The identity of the virtual machine scale set, if configured.
    location String
    Resource location
    orchestrationMode String | "Uniform" | "Flexible"
    Specifies the orchestration mode for the virtual machine scale set.
    overprovision Boolean
    Specifies whether the Virtual Machine Scale Set should be overprovisioned.
    plan Property Map
    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 Number
    Fault Domain count for each placement group.
    proximityPlacementGroup Property Map
    Specifies information about the proximity placement group that the virtual machine scale set should be assigned to. Minimum api-version: 2018-04-01.
    scaleInPolicy Property Map
    Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in.
    singlePlacementGroup Boolean
    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 Property Map
    The virtual machine scale set sku.
    tags Map<String>
    Resource tags
    upgradePolicy Property Map
    The upgrade policy.
    virtualMachineProfile Property Map
    The virtual machine profile.
    vmScaleSetName String
    The name of the VM scale set to create or update.
    zoneBalance Boolean
    Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.
    zones List<String>
    The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Resource name
    ProvisioningState string
    The provisioning state, which only appears in the response.
    Type string
    Resource type
    UniqueId string
    Specifies the ID which uniquely identifies a Virtual Machine Scale Set.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Resource name
    ProvisioningState string
    The provisioning state, which only appears in the response.
    Type string
    Resource type
    UniqueId string
    Specifies the ID which uniquely identifies a Virtual Machine Scale Set.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Resource name
    provisioningState String
    The provisioning state, which only appears in the response.
    type String
    Resource type
    uniqueId String
    Specifies the ID which uniquely identifies a Virtual Machine Scale Set.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    Resource name
    provisioningState string
    The provisioning state, which only appears in the response.
    type string
    Resource type
    uniqueId string
    Specifies the ID which uniquely identifies a Virtual Machine Scale Set.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    Resource name
    provisioning_state str
    The provisioning state, which only appears in the response.
    type str
    Resource type
    unique_id str
    Specifies the ID which uniquely identifies a Virtual Machine Scale Set.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    Resource name
    provisioningState String
    The provisioning state, which only appears in the response.
    type String
    Resource type
    uniqueId String
    Specifies the ID which uniquely identifies a Virtual Machine Scale Set.

    Supporting Types

    AdditionalCapabilities, AdditionalCapabilitiesArgs

    UltraSSDEnabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    UltraSSDEnabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    ultraSSDEnabled Boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    ultraSSDEnabled boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    ultra_ssd_enabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    ultraSSDEnabled Boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.

    AdditionalCapabilitiesResponse, AdditionalCapabilitiesResponseArgs

    UltraSSDEnabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    UltraSSDEnabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    ultraSSDEnabled Boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    ultraSSDEnabled boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    ultra_ssd_enabled bool
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.
    ultraSSDEnabled Boolean
    The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled.

    AdditionalUnattendContent, AdditionalUnattendContentArgs

    ComponentName Pulumi.AzureNative.Compute.ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    Content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    PassName Pulumi.AzureNative.Compute.PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    SettingName Pulumi.AzureNative.Compute.SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    ComponentName ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    Content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    PassName PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    SettingName SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content String
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    component_name ComponentNames
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content str
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    pass_name PassNames
    The pass name. Currently, the only allowable value is OobeSystem.
    setting_name SettingNames
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName "Microsoft-Windows-Shell-Setup"
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content String
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName "OobeSystem"
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName "AutoLogon" | "FirstLogonCommands"
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.

    AdditionalUnattendContentResponse, AdditionalUnattendContentResponseArgs

    ComponentName string
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    Content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    PassName string
    The pass name. Currently, the only allowable value is OobeSystem.
    SettingName string
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    ComponentName string
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    Content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    PassName string
    The pass name. Currently, the only allowable value is OobeSystem.
    SettingName string
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName String
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content String
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName String
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName String
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName string
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content string
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName string
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName string
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    component_name str
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content str
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    pass_name str
    The pass name. Currently, the only allowable value is OobeSystem.
    setting_name str
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.
    componentName String
    The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.
    content String
    Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted.
    passName String
    The pass name. Currently, the only allowable value is OobeSystem.
    settingName String
    Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.

    ApiEntityReference, ApiEntityReferenceArgs

    Id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    Id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id String
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id str
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id String
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...

    ApiEntityReferenceResponse, ApiEntityReferenceResponseArgs

    Id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    Id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id String
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id string
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id str
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...
    id String
    The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/...

    AutomaticOSUpgradePolicy, AutomaticOSUpgradePolicyArgs

    DisableAutomaticRollback bool
    Whether OS image rollback feature should be disabled. Default value is false.
    EnableAutomaticOSUpgrade bool
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    DisableAutomaticRollback bool
    Whether OS image rollback feature should be disabled. Default value is false.
    EnableAutomaticOSUpgrade bool
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    disableAutomaticRollback Boolean
    Whether OS image rollback feature should be disabled. Default value is false.
    enableAutomaticOSUpgrade Boolean
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    disableAutomaticRollback boolean
    Whether OS image rollback feature should be disabled. Default value is false.
    enableAutomaticOSUpgrade boolean
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    disable_automatic_rollback bool
    Whether OS image rollback feature should be disabled. Default value is false.
    enable_automatic_os_upgrade bool
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    disableAutomaticRollback Boolean
    Whether OS image rollback feature should be disabled. Default value is false.
    enableAutomaticOSUpgrade Boolean
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.

    AutomaticOSUpgradePolicyResponse, AutomaticOSUpgradePolicyResponseArgs

    DisableAutomaticRollback bool
    Whether OS image rollback feature should be disabled. Default value is false.
    EnableAutomaticOSUpgrade bool
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    DisableAutomaticRollback bool
    Whether OS image rollback feature should be disabled. Default value is false.
    EnableAutomaticOSUpgrade bool
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    disableAutomaticRollback Boolean
    Whether OS image rollback feature should be disabled. Default value is false.
    enableAutomaticOSUpgrade Boolean
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    disableAutomaticRollback boolean
    Whether OS image rollback feature should be disabled. Default value is false.
    enableAutomaticOSUpgrade boolean
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    disable_automatic_rollback bool
    Whether OS image rollback feature should be disabled. Default value is false.
    enable_automatic_os_upgrade bool
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.
    disableAutomaticRollback Boolean
    Whether OS image rollback feature should be disabled. Default value is false.
    enableAutomaticOSUpgrade Boolean
    Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false. If this is set to true for Windows based scale sets, enableAutomaticUpdates is automatically set to false and cannot be set to true.

    AutomaticRepairsPolicy, AutomaticRepairsPolicyArgs

    Enabled bool
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    GracePeriod string
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    Enabled bool
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    GracePeriod string
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    enabled Boolean
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    gracePeriod String
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    enabled boolean
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    gracePeriod string
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    enabled bool
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    grace_period str
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    enabled Boolean
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    gracePeriod String
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).

    AutomaticRepairsPolicyResponse, AutomaticRepairsPolicyResponseArgs

    Enabled bool
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    GracePeriod string
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    Enabled bool
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    GracePeriod string
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    enabled Boolean
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    gracePeriod String
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    enabled boolean
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    gracePeriod string
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    enabled bool
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    grace_period str
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).
    enabled Boolean
    Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false.
    gracePeriod String
    The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M).

    BillingProfile, BillingProfileArgs

    MaxPrice double
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    MaxPrice float64
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    maxPrice Double
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    maxPrice number
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    max_price float
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    maxPrice Number
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.

    BillingProfileResponse, BillingProfileResponseArgs

    MaxPrice double
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    MaxPrice float64
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    maxPrice Double
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    maxPrice number
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    max_price float
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.
    maxPrice Number
    Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars. This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price. The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS. Possible values are: - Any decimal value greater than zero. Example: 0.01538 -1 – indicates default price to be up-to on-demand. You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you. Minimum api-version: 2019-03-01.

    BootDiagnostics, BootDiagnosticsArgs

    Enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    StorageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    Enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    StorageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled Boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri String
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storage_uri str
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled Boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri String
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.

    BootDiagnosticsResponse, BootDiagnosticsResponseArgs

    Enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    StorageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    Enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    StorageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled Boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri String
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri string
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled bool
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storage_uri str
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.
    enabled Boolean
    Whether boot diagnostics should be enabled on the Virtual Machine.
    storageUri String
    Uri of the storage account to use for placing the console output and screenshot. If storageUri is not specified while enabling boot diagnostics, managed storage will be used.

    CachingTypes, CachingTypesArgs

    None
    None
    ReadOnly
    ReadOnly
    ReadWrite
    ReadWrite
    CachingTypesNone
    None
    CachingTypesReadOnly
    ReadOnly
    CachingTypesReadWrite
    ReadWrite
    None
    None
    ReadOnly
    ReadOnly
    ReadWrite
    ReadWrite
    None
    None
    ReadOnly
    ReadOnly
    ReadWrite
    ReadWrite
    NONE
    None
    READ_ONLY
    ReadOnly
    READ_WRITE
    ReadWrite
    "None"
    None
    "ReadOnly"
    ReadOnly
    "ReadWrite"
    ReadWrite

    ComponentNames, ComponentNamesArgs

    Microsoft_Windows_Shell_Setup
    Microsoft-Windows-Shell-Setup
    ComponentNames_Microsoft_Windows_Shell_Setup
    Microsoft-Windows-Shell-Setup
    MicrosoftWindowsShellSetup
    Microsoft-Windows-Shell-Setup
    Microsoft_Windows_Shell_Setup
    Microsoft-Windows-Shell-Setup
    MICROSOFT_WINDOWS_SHELL_SETUP
    Microsoft-Windows-Shell-Setup
    "Microsoft-Windows-Shell-Setup"
    Microsoft-Windows-Shell-Setup

    DeleteOptions, DeleteOptionsArgs

    Delete
    Delete
    Detach
    Detach
    DeleteOptionsDelete
    Delete
    DeleteOptionsDetach
    Detach
    Delete
    Delete
    Detach
    Detach
    Delete
    Delete
    Detach
    Detach
    DELETE
    Delete
    DETACH
    Detach
    "Delete"
    Delete
    "Detach"
    Detach

    DiagnosticsProfile, DiagnosticsProfileArgs

    BootDiagnostics Pulumi.AzureNative.Compute.Inputs.BootDiagnostics
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    BootDiagnostics BootDiagnostics
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    bootDiagnostics BootDiagnostics
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    bootDiagnostics BootDiagnostics
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    boot_diagnostics BootDiagnostics
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    bootDiagnostics Property Map
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.

    DiagnosticsProfileResponse, DiagnosticsProfileResponseArgs

    BootDiagnostics Pulumi.AzureNative.Compute.Inputs.BootDiagnosticsResponse
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    BootDiagnostics BootDiagnosticsResponse
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    bootDiagnostics BootDiagnosticsResponse
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    bootDiagnostics BootDiagnosticsResponse
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    boot_diagnostics BootDiagnosticsResponse
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.
    bootDiagnostics Property Map
    Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status. You can easily view the output of your console log. Azure also enables you to see a screenshot of the VM from the hypervisor.

    DiffDiskOptions, DiffDiskOptionsArgs

    Local
    Local
    DiffDiskOptionsLocal
    Local
    Local
    Local
    Local
    Local
    LOCAL
    Local
    "Local"
    Local

    DiffDiskPlacement, DiffDiskPlacementArgs

    CacheDisk
    CacheDisk
    ResourceDisk
    ResourceDisk
    DiffDiskPlacementCacheDisk
    CacheDisk
    DiffDiskPlacementResourceDisk
    ResourceDisk
    CacheDisk
    CacheDisk
    ResourceDisk
    ResourceDisk
    CacheDisk
    CacheDisk
    ResourceDisk
    ResourceDisk
    CACHE_DISK
    CacheDisk
    RESOURCE_DISK
    ResourceDisk
    "CacheDisk"
    CacheDisk
    "ResourceDisk"
    ResourceDisk

    DiffDiskSettings, DiffDiskSettingsArgs

    Option string | Pulumi.AzureNative.Compute.DiffDiskOptions
    Specifies the ephemeral disk settings for operating system disk.
    Placement string | Pulumi.AzureNative.Compute.DiffDiskPlacement
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    Option string | DiffDiskOptions
    Specifies the ephemeral disk settings for operating system disk.
    Placement string | DiffDiskPlacement
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    option String | DiffDiskOptions
    Specifies the ephemeral disk settings for operating system disk.
    placement String | DiffDiskPlacement
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    option string | DiffDiskOptions
    Specifies the ephemeral disk settings for operating system disk.
    placement string | DiffDiskPlacement
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    option str | DiffDiskOptions
    Specifies the ephemeral disk settings for operating system disk.
    placement str | DiffDiskPlacement
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    option String | "Local"
    Specifies the ephemeral disk settings for operating system disk.
    placement String | "CacheDisk" | "ResourceDisk"
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.

    DiffDiskSettingsResponse, DiffDiskSettingsResponseArgs

    Option string
    Specifies the ephemeral disk settings for operating system disk.
    Placement string
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    Option string
    Specifies the ephemeral disk settings for operating system disk.
    Placement string
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    option String
    Specifies the ephemeral disk settings for operating system disk.
    placement String
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    option string
    Specifies the ephemeral disk settings for operating system disk.
    placement string
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    option str
    Specifies the ephemeral disk settings for operating system disk.
    placement str
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.
    option String
    Specifies the ephemeral disk settings for operating system disk.
    placement String
    Specifies the ephemeral disk placement for operating system disk. Possible values are: CacheDisk ResourceDisk Default: CacheDisk if one is configured for the VM size otherwise ResourceDisk is used. Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk.

    DiskCreateOptionTypes, DiskCreateOptionTypesArgs

    FromImage
    FromImage
    Empty
    Empty
    Attach
    Attach
    DiskCreateOptionTypesFromImage
    FromImage
    DiskCreateOptionTypesEmpty
    Empty
    DiskCreateOptionTypesAttach
    Attach
    FromImage
    FromImage
    Empty
    Empty
    Attach
    Attach
    FromImage
    FromImage
    Empty
    Empty
    Attach
    Attach
    FROM_IMAGE
    FromImage
    EMPTY
    Empty
    ATTACH
    Attach
    "FromImage"
    FromImage
    "Empty"
    Empty
    "Attach"
    Attach

    DiskEncryptionSetParameters, DiskEncryptionSetParametersArgs

    Id string
    Resource Id
    Id string
    Resource Id
    id String
    Resource Id
    id string
    Resource Id
    id str
    Resource Id
    id String
    Resource Id

    DiskEncryptionSetParametersResponse, DiskEncryptionSetParametersResponseArgs

    Id string
    Resource Id
    Id string
    Resource Id
    id String
    Resource Id
    id string
    Resource Id
    id str
    Resource Id
    id String
    Resource Id

    ExtendedLocation, ExtendedLocationArgs

    Name string
    The name of the extended location.
    Type string | Pulumi.AzureNative.Compute.ExtendedLocationTypes
    The type of the extended location.
    Name string
    The name of the extended location.
    Type string | ExtendedLocationTypes
    The type of the extended location.
    name String
    The name of the extended location.
    type String | ExtendedLocationTypes
    The type of the extended location.
    name string
    The name of the extended location.
    type string | ExtendedLocationTypes
    The type of the extended location.
    name str
    The name of the extended location.
    type str | ExtendedLocationTypes
    The type of the extended location.
    name String
    The name of the extended location.
    type String | "EdgeZone"
    The type of the extended location.

    ExtendedLocationResponse, ExtendedLocationResponseArgs

    Name string
    The name of the extended location.
    Type string
    The type of the extended location.
    Name string
    The name of the extended location.
    Type string
    The type of the extended location.
    name String
    The name of the extended location.
    type String
    The type of the extended location.
    name string
    The name of the extended location.
    type string
    The type of the extended location.
    name str
    The name of the extended location.
    type str
    The type of the extended location.
    name String
    The name of the extended location.
    type String
    The type of the extended location.

    ExtendedLocationTypes, ExtendedLocationTypesArgs

    EdgeZone
    EdgeZone
    ExtendedLocationTypesEdgeZone
    EdgeZone
    EdgeZone
    EdgeZone
    EdgeZone
    EdgeZone
    EDGE_ZONE
    EdgeZone
    "EdgeZone"
    EdgeZone

    IPVersion, IPVersionArgs

    IPv4
    IPv4
    IPv6
    IPv6
    IPVersionIPv4
    IPv4
    IPVersionIPv6
    IPv6
    IPv4
    IPv4
    IPv6
    IPv6
    IPv4
    IPv4
    IPv6
    IPv6
    I_PV4
    IPv4
    I_PV6
    IPv6
    "IPv4"
    IPv4
    "IPv6"
    IPv6

    ImageReference, ImageReferenceArgs

    Id string
    Resource Id
    Offer string
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    Publisher string
    The image publisher.
    Sku string
    The image SKU.
    Version string
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    Id string
    Resource Id
    Offer string
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    Publisher string
    The image publisher.
    Sku string
    The image SKU.
    Version string
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    id String
    Resource Id
    offer String
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    publisher String
    The image publisher.
    sku String
    The image SKU.
    version String
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    id string
    Resource Id
    offer string
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    publisher string
    The image publisher.
    sku string
    The image SKU.
    version string
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    id str
    Resource Id
    offer str
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    publisher str
    The image publisher.
    sku str
    The image SKU.
    version str
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    id String
    Resource Id
    offer String
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    publisher String
    The image publisher.
    sku String
    The image SKU.
    version String
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.

    ImageReferenceResponse, ImageReferenceResponseArgs

    ExactVersion string
    Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'.
    Id string
    Resource Id
    Offer string
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    Publisher string
    The image publisher.
    Sku string
    The image SKU.
    Version string
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    ExactVersion string
    Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'.
    Id string
    Resource Id
    Offer string
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    Publisher string
    The image publisher.
    Sku string
    The image SKU.
    Version string
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    exactVersion String
    Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'.
    id String
    Resource Id
    offer String
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    publisher String
    The image publisher.
    sku String
    The image SKU.
    version String
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    exactVersion string
    Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'.
    id string
    Resource Id
    offer string
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    publisher string
    The image publisher.
    sku string
    The image SKU.
    version string
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    exact_version str
    Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'.
    id str
    Resource Id
    offer str
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    publisher str
    The image publisher.
    sku str
    The image SKU.
    version str
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
    exactVersion String
    Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'.
    id String
    Resource Id
    offer String
    Specifies the offer of the platform image or marketplace image used to create the virtual machine.
    publisher String
    The image publisher.
    sku String
    The image SKU.
    version String
    Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.

    LinuxConfiguration, LinuxConfigurationArgs

    DisablePasswordAuthentication bool
    Specifies whether password authentication should be disabled.
    PatchSettings Pulumi.AzureNative.Compute.Inputs.LinuxPatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    ProvisionVMAgent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    Ssh Pulumi.AzureNative.Compute.Inputs.SshConfiguration
    Specifies the ssh key configuration for a Linux OS.
    DisablePasswordAuthentication bool
    Specifies whether password authentication should be disabled.
    PatchSettings LinuxPatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    ProvisionVMAgent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    Ssh SshConfiguration
    Specifies the ssh key configuration for a Linux OS.
    disablePasswordAuthentication Boolean
    Specifies whether password authentication should be disabled.
    patchSettings LinuxPatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    provisionVMAgent Boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    ssh SshConfiguration
    Specifies the ssh key configuration for a Linux OS.
    disablePasswordAuthentication boolean
    Specifies whether password authentication should be disabled.
    patchSettings LinuxPatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    provisionVMAgent boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    ssh SshConfiguration
    Specifies the ssh key configuration for a Linux OS.
    disable_password_authentication bool
    Specifies whether password authentication should be disabled.
    patch_settings LinuxPatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    provision_vm_agent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    ssh SshConfiguration
    Specifies the ssh key configuration for a Linux OS.
    disablePasswordAuthentication Boolean
    Specifies whether password authentication should be disabled.
    patchSettings Property Map
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    provisionVMAgent Boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    ssh Property Map
    Specifies the ssh key configuration for a Linux OS.

    LinuxConfigurationResponse, LinuxConfigurationResponseArgs

    DisablePasswordAuthentication bool
    Specifies whether password authentication should be disabled.
    PatchSettings Pulumi.AzureNative.Compute.Inputs.LinuxPatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    ProvisionVMAgent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    Ssh Pulumi.AzureNative.Compute.Inputs.SshConfigurationResponse
    Specifies the ssh key configuration for a Linux OS.
    DisablePasswordAuthentication bool
    Specifies whether password authentication should be disabled.
    PatchSettings LinuxPatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    ProvisionVMAgent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    Ssh SshConfigurationResponse
    Specifies the ssh key configuration for a Linux OS.
    disablePasswordAuthentication Boolean
    Specifies whether password authentication should be disabled.
    patchSettings LinuxPatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    provisionVMAgent Boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    ssh SshConfigurationResponse
    Specifies the ssh key configuration for a Linux OS.
    disablePasswordAuthentication boolean
    Specifies whether password authentication should be disabled.
    patchSettings LinuxPatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    provisionVMAgent boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    ssh SshConfigurationResponse
    Specifies the ssh key configuration for a Linux OS.
    disable_password_authentication bool
    Specifies whether password authentication should be disabled.
    patch_settings LinuxPatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    provision_vm_agent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    ssh SshConfigurationResponse
    Specifies the ssh key configuration for a Linux OS.
    disablePasswordAuthentication Boolean
    Specifies whether password authentication should be disabled.
    patchSettings Property Map
    [Preview Feature] Specifies settings related to VM Guest Patching on Linux.
    provisionVMAgent Boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    ssh Property Map
    Specifies the ssh key configuration for a Linux OS.

    LinuxPatchAssessmentMode, LinuxPatchAssessmentModeArgs

    ImageDefault
    ImageDefault
    AutomaticByPlatform
    AutomaticByPlatform
    LinuxPatchAssessmentModeImageDefault
    ImageDefault
    LinuxPatchAssessmentModeAutomaticByPlatform
    AutomaticByPlatform
    ImageDefault
    ImageDefault
    AutomaticByPlatform
    AutomaticByPlatform
    ImageDefault
    ImageDefault
    AutomaticByPlatform
    AutomaticByPlatform
    IMAGE_DEFAULT
    ImageDefault
    AUTOMATIC_BY_PLATFORM
    AutomaticByPlatform
    "ImageDefault"
    ImageDefault
    "AutomaticByPlatform"
    AutomaticByPlatform

    LinuxPatchSettings, LinuxPatchSettingsArgs

    AssessmentMode string | Pulumi.AzureNative.Compute.LinuxPatchAssessmentMode
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    PatchMode string | Pulumi.AzureNative.Compute.LinuxVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    AssessmentMode string | LinuxPatchAssessmentMode
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    PatchMode string | LinuxVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    assessmentMode String | LinuxPatchAssessmentMode
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    patchMode String | LinuxVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    assessmentMode string | LinuxPatchAssessmentMode
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    patchMode string | LinuxVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    assessment_mode str | LinuxPatchAssessmentMode
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    patch_mode str | LinuxVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    assessmentMode String | "ImageDefault" | "AutomaticByPlatform"
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    patchMode String | "ImageDefault" | "AutomaticByPlatform"
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true

    LinuxPatchSettingsResponse, LinuxPatchSettingsResponseArgs

    AssessmentMode string
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    PatchMode string
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    AssessmentMode string
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    PatchMode string
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    assessmentMode String
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    patchMode String
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    assessmentMode string
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    patchMode string
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    assessment_mode str
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    patch_mode str
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true
    assessmentMode String
    Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    patchMode String
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: ImageDefault - The virtual machine's default patching configuration is used. AutomaticByPlatform - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true

    LinuxVMGuestPatchMode, LinuxVMGuestPatchModeArgs

    ImageDefault
    ImageDefault
    AutomaticByPlatform
    AutomaticByPlatform
    LinuxVMGuestPatchModeImageDefault
    ImageDefault
    LinuxVMGuestPatchModeAutomaticByPlatform
    AutomaticByPlatform
    ImageDefault
    ImageDefault
    AutomaticByPlatform
    AutomaticByPlatform
    ImageDefault
    ImageDefault
    AutomaticByPlatform
    AutomaticByPlatform
    IMAGE_DEFAULT
    ImageDefault
    AUTOMATIC_BY_PLATFORM
    AutomaticByPlatform
    "ImageDefault"
    ImageDefault
    "AutomaticByPlatform"
    AutomaticByPlatform

    NetworkApiVersion, NetworkApiVersionArgs

    NetworkApiVersion_2020_11_01
    2020-11-01
    NetworkApiVersion_2020_11_01
    2020-11-01
    _20201101
    2020-11-01
    NetworkApiVersion_2020_11_01
    2020-11-01
    NETWORK_API_VERSION_2020_11_01
    2020-11-01
    "2020-11-01"
    2020-11-01

    OperatingSystemTypes, OperatingSystemTypesArgs

    Windows
    Windows
    Linux
    Linux
    OperatingSystemTypesWindows
    Windows
    OperatingSystemTypesLinux
    Linux
    Windows
    Windows
    Linux
    Linux
    Windows
    Windows
    Linux
    Linux
    WINDOWS
    Windows
    LINUX
    Linux
    "Windows"
    Windows
    "Linux"
    Linux

    OrchestrationMode, OrchestrationModeArgs

    Uniform
    Uniform
    Flexible
    Flexible
    OrchestrationModeUniform
    Uniform
    OrchestrationModeFlexible
    Flexible
    Uniform
    Uniform
    Flexible
    Flexible
    Uniform
    Uniform
    Flexible
    Flexible
    UNIFORM
    Uniform
    FLEXIBLE
    Flexible
    "Uniform"
    Uniform
    "Flexible"
    Flexible

    PassNames, PassNamesArgs

    OobeSystem
    OobeSystem
    PassNamesOobeSystem
    OobeSystem
    OobeSystem
    OobeSystem
    OobeSystem
    OobeSystem
    OOBE_SYSTEM
    OobeSystem
    "OobeSystem"
    OobeSystem

    PatchSettings, PatchSettingsArgs

    AssessmentMode string | Pulumi.AzureNative.Compute.WindowsPatchAssessmentMode
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    EnableHotpatching bool
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    PatchMode string | Pulumi.AzureNative.Compute.WindowsVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    AssessmentMode string | WindowsPatchAssessmentMode
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    EnableHotpatching bool
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    PatchMode string | WindowsVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    assessmentMode String | WindowsPatchAssessmentMode
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    enableHotpatching Boolean
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    patchMode String | WindowsVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    assessmentMode string | WindowsPatchAssessmentMode
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    enableHotpatching boolean
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    patchMode string | WindowsVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    assessment_mode str | WindowsPatchAssessmentMode
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    enable_hotpatching bool
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    patch_mode str | WindowsVMGuestPatchMode
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    assessmentMode String | "ImageDefault" | "AutomaticByPlatform"
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    enableHotpatching Boolean
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    patchMode String | "Manual" | "AutomaticByOS" | "AutomaticByPlatform"
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true

    PatchSettingsResponse, PatchSettingsResponseArgs

    AssessmentMode string
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    EnableHotpatching bool
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    PatchMode string
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    AssessmentMode string
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    EnableHotpatching bool
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    PatchMode string
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    assessmentMode String
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    enableHotpatching Boolean
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    patchMode String
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    assessmentMode string
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    enableHotpatching boolean
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    patchMode string
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    assessment_mode str
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    enable_hotpatching bool
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    patch_mode str
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true
    assessmentMode String
    Specifies the mode of VM Guest patch assessment for the IaaS virtual machine. Possible values are: ImageDefault - You control the timing of patch assessments on a virtual machine. AutomaticByPlatform - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
    enableHotpatching Boolean
    Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'.
    patchMode String
    Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible. Possible values are: Manual - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false AutomaticByOS - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true. AutomaticByPlatform - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true

    Plan, PlanArgs

    Name string
    The plan ID.
    Product string
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    PromotionCode string
    The promotion code.
    Publisher string
    The publisher ID.
    Name string
    The plan ID.
    Product string
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    PromotionCode string
    The promotion code.
    Publisher string
    The publisher ID.
    name String
    The plan ID.
    product String
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    promotionCode String
    The promotion code.
    publisher String
    The publisher ID.
    name string
    The plan ID.
    product string
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    promotionCode string
    The promotion code.
    publisher string
    The publisher ID.
    name str
    The plan ID.
    product str
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    promotion_code str
    The promotion code.
    publisher str
    The publisher ID.
    name String
    The plan ID.
    product String
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    promotionCode String
    The promotion code.
    publisher String
    The publisher ID.

    PlanResponse, PlanResponseArgs

    Name string
    The plan ID.
    Product string
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    PromotionCode string
    The promotion code.
    Publisher string
    The publisher ID.
    Name string
    The plan ID.
    Product string
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    PromotionCode string
    The promotion code.
    Publisher string
    The publisher ID.
    name String
    The plan ID.
    product String
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    promotionCode String
    The promotion code.
    publisher String
    The publisher ID.
    name string
    The plan ID.
    product string
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    promotionCode string
    The promotion code.
    publisher string
    The publisher ID.
    name str
    The plan ID.
    product str
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    promotion_code str
    The promotion code.
    publisher str
    The publisher ID.
    name String
    The plan ID.
    product String
    Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
    promotionCode String
    The promotion code.
    publisher String
    The publisher ID.

    ProtocolTypes, ProtocolTypesArgs

    Http
    Http
    Https
    Https
    ProtocolTypesHttp
    Http
    ProtocolTypesHttps
    Https
    Http
    Http
    Https
    Https
    Http
    Http
    Https
    Https
    HTTP
    Http
    HTTPS
    Https
    "Http"
    Http
    "Https"
    Https

    PublicIPAddressSku, PublicIPAddressSkuArgs

    Name string | Pulumi.AzureNative.Compute.PublicIPAddressSkuName
    Specify public IP sku name
    Tier string | Pulumi.AzureNative.Compute.PublicIPAddressSkuTier
    Specify public IP sku tier
    Name string | PublicIPAddressSkuName
    Specify public IP sku name
    Tier string | PublicIPAddressSkuTier
    Specify public IP sku tier
    name String | PublicIPAddressSkuName
    Specify public IP sku name
    tier String | PublicIPAddressSkuTier
    Specify public IP sku tier
    name string | PublicIPAddressSkuName
    Specify public IP sku name
    tier string | PublicIPAddressSkuTier
    Specify public IP sku tier
    name str | PublicIPAddressSkuName
    Specify public IP sku name
    tier str | PublicIPAddressSkuTier
    Specify public IP sku tier
    name String | "Basic" | "Standard"
    Specify public IP sku name
    tier String | "Regional" | "Global"
    Specify public IP sku tier

    PublicIPAddressSkuName, PublicIPAddressSkuNameArgs

    Basic
    Basic
    Standard
    Standard
    PublicIPAddressSkuNameBasic
    Basic
    PublicIPAddressSkuNameStandard
    Standard
    Basic
    Basic
    Standard
    Standard
    Basic
    Basic
    Standard
    Standard
    BASIC
    Basic
    STANDARD
    Standard
    "Basic"
    Basic
    "Standard"
    Standard

    PublicIPAddressSkuResponse, PublicIPAddressSkuResponseArgs

    Name string
    Specify public IP sku name
    Tier string
    Specify public IP sku tier
    Name string
    Specify public IP sku name
    Tier string
    Specify public IP sku tier
    name String
    Specify public IP sku name
    tier String
    Specify public IP sku tier
    name string
    Specify public IP sku name
    tier string
    Specify public IP sku tier
    name str
    Specify public IP sku name
    tier str
    Specify public IP sku tier
    name String
    Specify public IP sku name
    tier String
    Specify public IP sku tier

    PublicIPAddressSkuTier, PublicIPAddressSkuTierArgs

    Regional
    Regional
    Global
    Global
    PublicIPAddressSkuTierRegional
    Regional
    PublicIPAddressSkuTierGlobal
    Global
    Regional
    Regional
    Global
    Global
    Regional
    Regional
    Global
    Global
    REGIONAL
    Regional
    GLOBAL_
    Global
    "Regional"
    Regional
    "Global"
    Global

    ResourceIdentityType, ResourceIdentityTypeArgs

    SystemAssigned
    SystemAssigned
    UserAssigned
    UserAssigned
    SystemAssigned_UserAssigned
    SystemAssigned, UserAssigned
    None
    None
    ResourceIdentityTypeSystemAssigned
    SystemAssigned
    ResourceIdentityTypeUserAssigned
    UserAssigned
    ResourceIdentityType_SystemAssigned_UserAssigned
    SystemAssigned, UserAssigned
    ResourceIdentityTypeNone
    None
    SystemAssigned
    SystemAssigned
    UserAssigned
    UserAssigned
    SystemAssigned_UserAssigned
    SystemAssigned, UserAssigned
    None
    None
    SystemAssigned
    SystemAssigned
    UserAssigned
    UserAssigned
    SystemAssigned_UserAssigned
    SystemAssigned, UserAssigned
    None
    None
    SYSTEM_ASSIGNED
    SystemAssigned
    USER_ASSIGNED
    UserAssigned
    SYSTEM_ASSIGNED_USER_ASSIGNED
    SystemAssigned, UserAssigned
    NONE
    None
    "SystemAssigned"
    SystemAssigned
    "UserAssigned"
    UserAssigned
    "SystemAssigned, UserAssigned"
    SystemAssigned, UserAssigned
    "None"
    None

    RollingUpgradePolicy, RollingUpgradePolicyArgs

    EnableCrossZoneUpgrade bool
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    MaxBatchInstancePercent int
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    MaxUnhealthyInstancePercent int
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    MaxUnhealthyUpgradedInstancePercent int
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    PauseTimeBetweenBatches string
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    PrioritizeUnhealthyInstances bool
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    EnableCrossZoneUpgrade bool
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    MaxBatchInstancePercent int
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    MaxUnhealthyInstancePercent int
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    MaxUnhealthyUpgradedInstancePercent int
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    PauseTimeBetweenBatches string
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    PrioritizeUnhealthyInstances bool
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    enableCrossZoneUpgrade Boolean
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    maxBatchInstancePercent Integer
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    maxUnhealthyInstancePercent Integer
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    maxUnhealthyUpgradedInstancePercent Integer
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    pauseTimeBetweenBatches String
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    prioritizeUnhealthyInstances Boolean
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    enableCrossZoneUpgrade boolean
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    maxBatchInstancePercent number
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    maxUnhealthyInstancePercent number
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    maxUnhealthyUpgradedInstancePercent number
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    pauseTimeBetweenBatches string
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    prioritizeUnhealthyInstances boolean
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    enable_cross_zone_upgrade bool
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    max_batch_instance_percent int
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    max_unhealthy_instance_percent int
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    max_unhealthy_upgraded_instance_percent int
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    pause_time_between_batches str
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    prioritize_unhealthy_instances bool
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    enableCrossZoneUpgrade Boolean
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    maxBatchInstancePercent Number
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    maxUnhealthyInstancePercent Number
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    maxUnhealthyUpgradedInstancePercent Number
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    pauseTimeBetweenBatches String
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    prioritizeUnhealthyInstances Boolean
    Upgrade all unhealthy instances in a scale set before any healthy instances.

    RollingUpgradePolicyResponse, RollingUpgradePolicyResponseArgs

    EnableCrossZoneUpgrade bool
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    MaxBatchInstancePercent int
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    MaxUnhealthyInstancePercent int
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    MaxUnhealthyUpgradedInstancePercent int
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    PauseTimeBetweenBatches string
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    PrioritizeUnhealthyInstances bool
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    EnableCrossZoneUpgrade bool
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    MaxBatchInstancePercent int
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    MaxUnhealthyInstancePercent int
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    MaxUnhealthyUpgradedInstancePercent int
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    PauseTimeBetweenBatches string
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    PrioritizeUnhealthyInstances bool
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    enableCrossZoneUpgrade Boolean
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    maxBatchInstancePercent Integer
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    maxUnhealthyInstancePercent Integer
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    maxUnhealthyUpgradedInstancePercent Integer
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    pauseTimeBetweenBatches String
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    prioritizeUnhealthyInstances Boolean
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    enableCrossZoneUpgrade boolean
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    maxBatchInstancePercent number
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    maxUnhealthyInstancePercent number
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    maxUnhealthyUpgradedInstancePercent number
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    pauseTimeBetweenBatches string
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    prioritizeUnhealthyInstances boolean
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    enable_cross_zone_upgrade bool
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    max_batch_instance_percent int
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    max_unhealthy_instance_percent int
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    max_unhealthy_upgraded_instance_percent int
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    pause_time_between_batches str
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    prioritize_unhealthy_instances bool
    Upgrade all unhealthy instances in a scale set before any healthy instances.
    enableCrossZoneUpgrade Boolean
    Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size.
    maxBatchInstancePercent Number
    The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%.
    maxUnhealthyInstancePercent Number
    The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%.
    maxUnhealthyUpgradedInstancePercent Number
    The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%.
    pauseTimeBetweenBatches String
    The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S).
    prioritizeUnhealthyInstances Boolean
    Upgrade all unhealthy instances in a scale set before any healthy instances.

    ScaleInPolicy, ScaleInPolicyArgs

    Rules List<Union<string, Pulumi.AzureNative.Compute.VirtualMachineScaleSetScaleInRules>>
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    Rules []string
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    rules List<Either<String,VirtualMachineScaleSetScaleInRules>>
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    rules (string | VirtualMachineScaleSetScaleInRules)[]
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    rules Sequence[Union[str, VirtualMachineScaleSetScaleInRules]]
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    rules List<String | "Default" | "OldestVM" | "NewestVM">
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

    ScaleInPolicyResponse, ScaleInPolicyResponseArgs

    Rules List<string>
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    Rules []string
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    rules List<String>
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    rules string[]
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    rules Sequence[str]
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
    rules List<String>
    The rules to be followed when scaling-in a virtual machine scale set. Possible values are: Default When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in. OldestVM When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal. NewestVM When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

    ScheduledEventsProfile, ScheduledEventsProfileArgs

    TerminateNotificationProfile Pulumi.AzureNative.Compute.Inputs.TerminateNotificationProfile
    Specifies Terminate Scheduled Event related configurations.
    TerminateNotificationProfile TerminateNotificationProfile
    Specifies Terminate Scheduled Event related configurations.
    terminateNotificationProfile TerminateNotificationProfile
    Specifies Terminate Scheduled Event related configurations.
    terminateNotificationProfile TerminateNotificationProfile
    Specifies Terminate Scheduled Event related configurations.
    terminate_notification_profile TerminateNotificationProfile
    Specifies Terminate Scheduled Event related configurations.
    terminateNotificationProfile Property Map
    Specifies Terminate Scheduled Event related configurations.

    ScheduledEventsProfileResponse, ScheduledEventsProfileResponseArgs

    TerminateNotificationProfile TerminateNotificationProfileResponse
    Specifies Terminate Scheduled Event related configurations.
    terminateNotificationProfile TerminateNotificationProfileResponse
    Specifies Terminate Scheduled Event related configurations.
    terminateNotificationProfile TerminateNotificationProfileResponse
    Specifies Terminate Scheduled Event related configurations.
    terminate_notification_profile TerminateNotificationProfileResponse
    Specifies Terminate Scheduled Event related configurations.
    terminateNotificationProfile Property Map
    Specifies Terminate Scheduled Event related configurations.

    SecurityProfile, SecurityProfileArgs

    EncryptionAtHost bool
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    SecurityType string | Pulumi.AzureNative.Compute.SecurityTypes
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    UefiSettings Pulumi.AzureNative.Compute.Inputs.UefiSettings
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    EncryptionAtHost bool
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    SecurityType string | SecurityTypes
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    UefiSettings UefiSettings
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    encryptionAtHost Boolean
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    securityType String | SecurityTypes
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    uefiSettings UefiSettings
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    encryptionAtHost boolean
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    securityType string | SecurityTypes
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    uefiSettings UefiSettings
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    encryption_at_host bool
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    security_type str | SecurityTypes
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    uefi_settings UefiSettings
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    encryptionAtHost Boolean
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    securityType String | "TrustedLaunch"
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    uefiSettings Property Map
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01

    SecurityProfileResponse, SecurityProfileResponseArgs

    EncryptionAtHost bool
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    SecurityType string
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    UefiSettings Pulumi.AzureNative.Compute.Inputs.UefiSettingsResponse
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    EncryptionAtHost bool
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    SecurityType string
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    UefiSettings UefiSettingsResponse
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    encryptionAtHost Boolean
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    securityType String
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    uefiSettings UefiSettingsResponse
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    encryptionAtHost boolean
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    securityType string
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    uefiSettings UefiSettingsResponse
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    encryption_at_host bool
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    security_type str
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    uefi_settings UefiSettingsResponse
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01
    encryptionAtHost Boolean
    This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.
    securityType String
    Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings. Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.
    uefiSettings Property Map
    Specifies the security settings like secure boot and vTPM used while creating the virtual machine. Minimum api-version: 2020-12-01

    SecurityTypes, SecurityTypesArgs

    TrustedLaunch
    TrustedLaunch
    SecurityTypesTrustedLaunch
    TrustedLaunch
    TrustedLaunch
    TrustedLaunch
    TrustedLaunch
    TrustedLaunch
    TRUSTED_LAUNCH
    TrustedLaunch
    "TrustedLaunch"
    TrustedLaunch

    SettingNames, SettingNamesArgs

    AutoLogon
    AutoLogon
    FirstLogonCommands
    FirstLogonCommands
    SettingNamesAutoLogon
    AutoLogon
    SettingNamesFirstLogonCommands
    FirstLogonCommands
    AutoLogon
    AutoLogon
    FirstLogonCommands
    FirstLogonCommands
    AutoLogon
    AutoLogon
    FirstLogonCommands
    FirstLogonCommands
    AUTO_LOGON
    AutoLogon
    FIRST_LOGON_COMMANDS
    FirstLogonCommands
    "AutoLogon"
    AutoLogon
    "FirstLogonCommands"
    FirstLogonCommands

    Sku, SkuArgs

    Capacity double
    Specifies the number of virtual machines in the scale set.
    Name string
    The sku name.
    Tier string
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    Capacity float64
    Specifies the number of virtual machines in the scale set.
    Name string
    The sku name.
    Tier string
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    capacity Double
    Specifies the number of virtual machines in the scale set.
    name String
    The sku name.
    tier String
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    capacity number
    Specifies the number of virtual machines in the scale set.
    name string
    The sku name.
    tier string
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    capacity float
    Specifies the number of virtual machines in the scale set.
    name str
    The sku name.
    tier str
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    capacity Number
    Specifies the number of virtual machines in the scale set.
    name String
    The sku name.
    tier String
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

    SkuResponse, SkuResponseArgs

    Capacity double
    Specifies the number of virtual machines in the scale set.
    Name string
    The sku name.
    Tier string
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    Capacity float64
    Specifies the number of virtual machines in the scale set.
    Name string
    The sku name.
    Tier string
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    capacity Double
    Specifies the number of virtual machines in the scale set.
    name String
    The sku name.
    tier String
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    capacity number
    Specifies the number of virtual machines in the scale set.
    name string
    The sku name.
    tier string
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    capacity float
    Specifies the number of virtual machines in the scale set.
    name str
    The sku name.
    tier str
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic
    capacity Number
    Specifies the number of virtual machines in the scale set.
    name String
    The sku name.
    tier String
    Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

    SshConfiguration, SshConfigurationArgs

    PublicKeys List<Pulumi.AzureNative.Compute.Inputs.SshPublicKey>
    The list of SSH public keys used to authenticate with linux based VMs.
    PublicKeys []SshPublicKeyType
    The list of SSH public keys used to authenticate with linux based VMs.
    publicKeys List<SshPublicKey>
    The list of SSH public keys used to authenticate with linux based VMs.
    publicKeys SshPublicKey[]
    The list of SSH public keys used to authenticate with linux based VMs.
    public_keys Sequence[SshPublicKey]
    The list of SSH public keys used to authenticate with linux based VMs.
    publicKeys List<Property Map>
    The list of SSH public keys used to authenticate with linux based VMs.

    SshConfigurationResponse, SshConfigurationResponseArgs

    PublicKeys List<Pulumi.AzureNative.Compute.Inputs.SshPublicKeyResponse>
    The list of SSH public keys used to authenticate with linux based VMs.
    PublicKeys []SshPublicKeyResponse
    The list of SSH public keys used to authenticate with linux based VMs.
    publicKeys List<SshPublicKeyResponse>
    The list of SSH public keys used to authenticate with linux based VMs.
    publicKeys SshPublicKeyResponse[]
    The list of SSH public keys used to authenticate with linux based VMs.
    public_keys Sequence[SshPublicKeyResponse]
    The list of SSH public keys used to authenticate with linux based VMs.
    publicKeys List<Property Map>
    The list of SSH public keys used to authenticate with linux based VMs.

    SshPublicKey, SshPublicKeyArgs

    KeyData string
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    Path string
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    KeyData string
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    Path string
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    keyData String
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    path String
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    keyData string
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    path string
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    key_data str
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    path str
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    keyData String
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    path String
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys

    SshPublicKeyResponse, SshPublicKeyResponseArgs

    KeyData string
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    Path string
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    KeyData string
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    Path string
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    keyData String
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    path String
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    keyData string
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    path string
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    key_data str
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    path str
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys
    keyData String
    SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
    path String
    Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys

    StorageAccountTypes, StorageAccountTypesArgs

    Standard_LRS
    Standard_LRS
    Premium_LRS
    Premium_LRS
    StandardSSD_LRS
    StandardSSD_LRS
    UltraSSD_LRS
    UltraSSD_LRS
    Premium_ZRS
    Premium_ZRS
    StandardSSD_ZRS
    StandardSSD_ZRS
    StorageAccountTypes_Standard_LRS
    Standard_LRS
    StorageAccountTypes_Premium_LRS
    Premium_LRS
    StorageAccountTypes_StandardSSD_LRS
    StandardSSD_LRS
    StorageAccountTypes_UltraSSD_LRS
    UltraSSD_LRS
    StorageAccountTypes_Premium_ZRS
    Premium_ZRS
    StorageAccountTypes_StandardSSD_ZRS
    StandardSSD_ZRS
    Standard_LRS
    Standard_LRS
    Premium_LRS
    Premium_LRS
    StandardSSD_LRS
    StandardSSD_LRS
    UltraSSD_LRS
    UltraSSD_LRS
    Premium_ZRS
    Premium_ZRS
    StandardSSD_ZRS
    StandardSSD_ZRS
    Standard_LRS
    Standard_LRS
    Premium_LRS
    Premium_LRS
    StandardSSD_LRS
    StandardSSD_LRS
    UltraSSD_LRS
    UltraSSD_LRS
    Premium_ZRS
    Premium_ZRS
    StandardSSD_ZRS
    StandardSSD_ZRS
    STANDARD_LRS
    Standard_LRS
    PREMIUM_LRS
    Premium_LRS
    STANDARD_SS_D_LRS
    StandardSSD_LRS
    ULTRA_SS_D_LRS
    UltraSSD_LRS
    PREMIUM_ZRS
    Premium_ZRS
    STANDARD_SS_D_ZRS
    StandardSSD_ZRS
    "Standard_LRS"
    Standard_LRS
    "Premium_LRS"
    Premium_LRS
    "StandardSSD_LRS"
    StandardSSD_LRS
    "UltraSSD_LRS"
    UltraSSD_LRS
    "Premium_ZRS"
    Premium_ZRS
    "StandardSSD_ZRS"
    StandardSSD_ZRS

    SubResource, SubResourceArgs

    Id string
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    Id string
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    id String
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    id string
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    id str
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
    id String
    Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.

    SubResourceResponse, SubResourceResponseArgs

    Id string
    Resource Id
    Id string
    Resource Id
    id String
    Resource Id
    id string
    Resource Id
    id str
    Resource Id
    id String
    Resource Id

    TerminateNotificationProfile, TerminateNotificationProfileArgs

    Enable bool
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    NotBeforeTimeout string
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    Enable bool
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    NotBeforeTimeout string
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    enable Boolean
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    notBeforeTimeout String
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    enable boolean
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    notBeforeTimeout string
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    enable bool
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    not_before_timeout str
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    enable Boolean
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    notBeforeTimeout String
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)

    TerminateNotificationProfileResponse, TerminateNotificationProfileResponseArgs

    Enable bool
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    NotBeforeTimeout string
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    Enable bool
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    NotBeforeTimeout string
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    enable Boolean
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    notBeforeTimeout String
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    enable boolean
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    notBeforeTimeout string
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    enable bool
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    not_before_timeout str
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)
    enable Boolean
    Specifies whether the Terminate Scheduled event is enabled or disabled.
    notBeforeTimeout String
    Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)

    UefiSettings, UefiSettingsArgs

    SecureBootEnabled bool
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    VTpmEnabled bool
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    SecureBootEnabled bool
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    VTpmEnabled bool
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    secureBootEnabled Boolean
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    vTpmEnabled Boolean
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    secureBootEnabled boolean
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    vTpmEnabled boolean
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    secure_boot_enabled bool
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    v_tpm_enabled bool
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    secureBootEnabled Boolean
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    vTpmEnabled Boolean
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01

    UefiSettingsResponse, UefiSettingsResponseArgs

    SecureBootEnabled bool
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    VTpmEnabled bool
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    SecureBootEnabled bool
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    VTpmEnabled bool
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    secureBootEnabled Boolean
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    vTpmEnabled Boolean
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    secureBootEnabled boolean
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    vTpmEnabled boolean
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    secure_boot_enabled bool
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    v_tpm_enabled bool
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    secureBootEnabled Boolean
    Specifies whether secure boot should be enabled on the virtual machine. Minimum api-version: 2020-12-01
    vTpmEnabled Boolean
    Specifies whether vTPM should be enabled on the virtual machine. Minimum api-version: 2020-12-01

    UpgradeMode, UpgradeModeArgs

    Automatic
    Automatic
    Manual
    Manual
    Rolling
    Rolling
    UpgradeModeAutomatic
    Automatic
    UpgradeModeManual
    Manual
    UpgradeModeRolling
    Rolling
    Automatic
    Automatic
    Manual
    Manual
    Rolling
    Rolling
    Automatic
    Automatic
    Manual
    Manual
    Rolling
    Rolling
    AUTOMATIC
    Automatic
    MANUAL
    Manual
    ROLLING
    Rolling
    "Automatic"
    Automatic
    "Manual"
    Manual
    "Rolling"
    Rolling

    UpgradePolicy, UpgradePolicyArgs

    AutomaticOSUpgradePolicy Pulumi.AzureNative.Compute.Inputs.AutomaticOSUpgradePolicy
    Configuration parameters used for performing automatic OS Upgrade.
    Mode Pulumi.AzureNative.Compute.UpgradeMode
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    RollingUpgradePolicy Pulumi.AzureNative.Compute.Inputs.RollingUpgradePolicy
    The configuration parameters used while performing a rolling upgrade.
    AutomaticOSUpgradePolicy AutomaticOSUpgradePolicy
    Configuration parameters used for performing automatic OS Upgrade.
    Mode UpgradeMode
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    RollingUpgradePolicy RollingUpgradePolicy
    The configuration parameters used while performing a rolling upgrade.
    automaticOSUpgradePolicy AutomaticOSUpgradePolicy
    Configuration parameters used for performing automatic OS Upgrade.
    mode UpgradeMode
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    rollingUpgradePolicy RollingUpgradePolicy
    The configuration parameters used while performing a rolling upgrade.
    automaticOSUpgradePolicy AutomaticOSUpgradePolicy
    Configuration parameters used for performing automatic OS Upgrade.
    mode UpgradeMode
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    rollingUpgradePolicy RollingUpgradePolicy
    The configuration parameters used while performing a rolling upgrade.
    automatic_os_upgrade_policy AutomaticOSUpgradePolicy
    Configuration parameters used for performing automatic OS Upgrade.
    mode UpgradeMode
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    rolling_upgrade_policy RollingUpgradePolicy
    The configuration parameters used while performing a rolling upgrade.
    automaticOSUpgradePolicy Property Map
    Configuration parameters used for performing automatic OS Upgrade.
    mode "Automatic" | "Manual" | "Rolling"
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    rollingUpgradePolicy Property Map
    The configuration parameters used while performing a rolling upgrade.

    UpgradePolicyResponse, UpgradePolicyResponseArgs

    AutomaticOSUpgradePolicy Pulumi.AzureNative.Compute.Inputs.AutomaticOSUpgradePolicyResponse
    Configuration parameters used for performing automatic OS Upgrade.
    Mode string
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    RollingUpgradePolicy Pulumi.AzureNative.Compute.Inputs.RollingUpgradePolicyResponse
    The configuration parameters used while performing a rolling upgrade.
    AutomaticOSUpgradePolicy AutomaticOSUpgradePolicyResponse
    Configuration parameters used for performing automatic OS Upgrade.
    Mode string
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    RollingUpgradePolicy RollingUpgradePolicyResponse
    The configuration parameters used while performing a rolling upgrade.
    automaticOSUpgradePolicy AutomaticOSUpgradePolicyResponse
    Configuration parameters used for performing automatic OS Upgrade.
    mode String
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    rollingUpgradePolicy RollingUpgradePolicyResponse
    The configuration parameters used while performing a rolling upgrade.
    automaticOSUpgradePolicy AutomaticOSUpgradePolicyResponse
    Configuration parameters used for performing automatic OS Upgrade.
    mode string
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    rollingUpgradePolicy RollingUpgradePolicyResponse
    The configuration parameters used while performing a rolling upgrade.
    automatic_os_upgrade_policy AutomaticOSUpgradePolicyResponse
    Configuration parameters used for performing automatic OS Upgrade.
    mode str
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    rolling_upgrade_policy RollingUpgradePolicyResponse
    The configuration parameters used while performing a rolling upgrade.
    automaticOSUpgradePolicy Property Map
    Configuration parameters used for performing automatic OS Upgrade.
    mode String
    Specifies the mode of an upgrade to virtual machines in the scale set. Possible values are: Manual - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action. Automatic - All virtual machines in the scale set are automatically updated at the same time.
    rollingUpgradePolicy Property Map
    The configuration parameters used while performing a rolling upgrade.

    VaultCertificate, VaultCertificateArgs

    CertificateStore string
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    CertificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    CertificateStore string
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    CertificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    certificateStore String
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    certificateUrl String
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    certificateStore string
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    certificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    certificate_store str
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    certificate_url str
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    certificateStore String
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    certificateUrl String
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.

    VaultCertificateResponse, VaultCertificateResponseArgs

    CertificateStore string
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    CertificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    CertificateStore string
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    CertificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    certificateStore String
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    certificateUrl String
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    certificateStore string
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    certificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    certificate_store str
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    certificate_url str
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    certificateStore String
    For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account. For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.
    certificateUrl String
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.

    VaultSecretGroup, VaultSecretGroupArgs

    SourceVault Pulumi.AzureNative.Compute.Inputs.SubResource
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    VaultCertificates List<Pulumi.AzureNative.Compute.Inputs.VaultCertificate>
    The list of key vault references in SourceVault which contain certificates.
    SourceVault SubResource
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    VaultCertificates []VaultCertificate
    The list of key vault references in SourceVault which contain certificates.
    sourceVault SubResource
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    vaultCertificates List<VaultCertificate>
    The list of key vault references in SourceVault which contain certificates.
    sourceVault SubResource
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    vaultCertificates VaultCertificate[]
    The list of key vault references in SourceVault which contain certificates.
    source_vault SubResource
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    vault_certificates Sequence[VaultCertificate]
    The list of key vault references in SourceVault which contain certificates.
    sourceVault Property Map
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    vaultCertificates List<Property Map>
    The list of key vault references in SourceVault which contain certificates.

    VaultSecretGroupResponse, VaultSecretGroupResponseArgs

    SourceVault Pulumi.AzureNative.Compute.Inputs.SubResourceResponse
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    VaultCertificates List<Pulumi.AzureNative.Compute.Inputs.VaultCertificateResponse>
    The list of key vault references in SourceVault which contain certificates.
    SourceVault SubResourceResponse
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    VaultCertificates []VaultCertificateResponse
    The list of key vault references in SourceVault which contain certificates.
    sourceVault SubResourceResponse
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    vaultCertificates List<VaultCertificateResponse>
    The list of key vault references in SourceVault which contain certificates.
    sourceVault SubResourceResponse
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    vaultCertificates VaultCertificateResponse[]
    The list of key vault references in SourceVault which contain certificates.
    source_vault SubResourceResponse
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    vault_certificates Sequence[VaultCertificateResponse]
    The list of key vault references in SourceVault which contain certificates.
    sourceVault Property Map
    The relative URL of the Key Vault containing all of the certificates in VaultCertificates.
    vaultCertificates List<Property Map>
    The list of key vault references in SourceVault which contain certificates.

    VirtualHardDisk, VirtualHardDiskArgs

    Uri string
    Specifies the virtual hard disk's uri.
    Uri string
    Specifies the virtual hard disk's uri.
    uri String
    Specifies the virtual hard disk's uri.
    uri string
    Specifies the virtual hard disk's uri.
    uri str
    Specifies the virtual hard disk's uri.
    uri String
    Specifies the virtual hard disk's uri.

    VirtualHardDiskResponse, VirtualHardDiskResponseArgs

    Uri string
    Specifies the virtual hard disk's uri.
    Uri string
    Specifies the virtual hard disk's uri.
    uri String
    Specifies the virtual hard disk's uri.
    uri string
    Specifies the virtual hard disk's uri.
    uri str
    Specifies the virtual hard disk's uri.
    uri String
    Specifies the virtual hard disk's uri.

    VirtualMachineEvictionPolicyTypes, VirtualMachineEvictionPolicyTypesArgs

    Deallocate
    Deallocate
    Delete
    Delete
    VirtualMachineEvictionPolicyTypesDeallocate
    Deallocate
    VirtualMachineEvictionPolicyTypesDelete
    Delete
    Deallocate
    Deallocate
    Delete
    Delete
    Deallocate
    Deallocate
    Delete
    Delete
    DEALLOCATE
    Deallocate
    DELETE
    Delete
    "Deallocate"
    Deallocate
    "Delete"
    Delete

    VirtualMachinePriorityTypes, VirtualMachinePriorityTypesArgs

    Regular
    Regular
    Low
    Low
    Spot
    Spot
    VirtualMachinePriorityTypesRegular
    Regular
    VirtualMachinePriorityTypesLow
    Low
    VirtualMachinePriorityTypesSpot
    Spot
    Regular
    Regular
    Low
    Low
    Spot
    Spot
    Regular
    Regular
    Low
    Low
    Spot
    Spot
    REGULAR
    Regular
    LOW
    Low
    SPOT
    Spot
    "Regular"
    Regular
    "Low"
    Low
    "Spot"
    Spot

    VirtualMachineScaleSetDataDisk, VirtualMachineScaleSetDataDiskArgs

    CreateOption string | Pulumi.AzureNative.Compute.DiskCreateOptionTypes
    The create option.
    Lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    Caching Pulumi.AzureNative.Compute.CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    DiskIOPSReadWrite double
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    DiskMBpsReadWrite double
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    DiskSizeGB int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    ManagedDisk Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    Name string
    The disk name.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    CreateOption string | DiskCreateOptionTypes
    The create option.
    Lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    Caching CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    DiskIOPSReadWrite float64
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    DiskMBpsReadWrite float64
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    DiskSizeGB int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    ManagedDisk VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    Name string
    The disk name.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String | DiskCreateOptionTypes
    The create option.
    lun Integer
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diskIOPSReadWrite Double
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskMBpsReadWrite Double
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskSizeGB Integer
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    managedDisk VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    name String
    The disk name.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption string | DiskCreateOptionTypes
    The create option.
    lun number
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diskIOPSReadWrite number
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskMBpsReadWrite number
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskSizeGB number
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    managedDisk VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    name string
    The disk name.
    writeAcceleratorEnabled boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    create_option str | DiskCreateOptionTypes
    The create option.
    lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    disk_iops_read_write float
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    disk_m_bps_read_write float
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    disk_size_gb int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    managed_disk VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    name str
    The disk name.
    write_accelerator_enabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String | "FromImage" | "Empty" | "Attach"
    The create option.
    lun Number
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching "None" | "ReadOnly" | "ReadWrite"
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diskIOPSReadWrite Number
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskMBpsReadWrite Number
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskSizeGB Number
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    managedDisk Property Map
    The managed disk parameters.
    name String
    The disk name.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.

    VirtualMachineScaleSetDataDiskResponse, VirtualMachineScaleSetDataDiskResponseArgs

    CreateOption string
    The create option.
    Lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    Caching string
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    DiskIOPSReadWrite double
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    DiskMBpsReadWrite double
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    DiskSizeGB int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    ManagedDisk Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    Name string
    The disk name.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    CreateOption string
    The create option.
    Lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    Caching string
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    DiskIOPSReadWrite float64
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    DiskMBpsReadWrite float64
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    DiskSizeGB int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    ManagedDisk VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    Name string
    The disk name.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String
    The create option.
    lun Integer
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching String
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diskIOPSReadWrite Double
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskMBpsReadWrite Double
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskSizeGB Integer
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    managedDisk VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    name String
    The disk name.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption string
    The create option.
    lun number
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching string
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diskIOPSReadWrite number
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskMBpsReadWrite number
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskSizeGB number
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    managedDisk VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    name string
    The disk name.
    writeAcceleratorEnabled boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    create_option str
    The create option.
    lun int
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching str
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    disk_iops_read_write float
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    disk_m_bps_read_write float
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    disk_size_gb int
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    managed_disk VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    name str
    The disk name.
    write_accelerator_enabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String
    The create option.
    lun Number
    Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM.
    caching String
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diskIOPSReadWrite Number
    Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskMBpsReadWrite Number
    Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB.
    diskSizeGB Number
    Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    managedDisk Property Map
    The managed disk parameters.
    name String
    The disk name.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.

    VirtualMachineScaleSetExtension, VirtualMachineScaleSetExtensionArgs

    AutoUpgradeMinorVersion bool
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    EnableAutomaticUpgrade bool
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    ForceUpdateTag string
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    Name string
    The name of the extension.
    ProtectedSettings object
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    ProvisionAfterExtensions List<string>
    Collection of extension names after which this extension needs to be provisioned.
    Publisher string
    The name of the extension handler publisher.
    Settings object
    Json formatted public settings for the extension.
    Type string
    Specifies the type of the extension; an example is "CustomScriptExtension".
    TypeHandlerVersion string
    Specifies the version of the script handler.
    AutoUpgradeMinorVersion bool
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    EnableAutomaticUpgrade bool
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    ForceUpdateTag string
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    Name string
    The name of the extension.
    ProtectedSettings interface{}
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    ProvisionAfterExtensions []string
    Collection of extension names after which this extension needs to be provisioned.
    Publisher string
    The name of the extension handler publisher.
    Settings interface{}
    Json formatted public settings for the extension.
    Type string
    Specifies the type of the extension; an example is "CustomScriptExtension".
    TypeHandlerVersion string
    Specifies the version of the script handler.
    autoUpgradeMinorVersion Boolean
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    enableAutomaticUpgrade Boolean
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    forceUpdateTag String
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    name String
    The name of the extension.
    protectedSettings Object
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    provisionAfterExtensions List<String>
    Collection of extension names after which this extension needs to be provisioned.
    publisher String
    The name of the extension handler publisher.
    settings Object
    Json formatted public settings for the extension.
    type String
    Specifies the type of the extension; an example is "CustomScriptExtension".
    typeHandlerVersion String
    Specifies the version of the script handler.
    autoUpgradeMinorVersion boolean
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    enableAutomaticUpgrade boolean
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    forceUpdateTag string
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    name string
    The name of the extension.
    protectedSettings any
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    provisionAfterExtensions string[]
    Collection of extension names after which this extension needs to be provisioned.
    publisher string
    The name of the extension handler publisher.
    settings any
    Json formatted public settings for the extension.
    type string
    Specifies the type of the extension; an example is "CustomScriptExtension".
    typeHandlerVersion string
    Specifies the version of the script handler.
    auto_upgrade_minor_version bool
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    enable_automatic_upgrade bool
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    force_update_tag str
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    name str
    The name of the extension.
    protected_settings Any
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    provision_after_extensions Sequence[str]
    Collection of extension names after which this extension needs to be provisioned.
    publisher str
    The name of the extension handler publisher.
    settings Any
    Json formatted public settings for the extension.
    type str
    Specifies the type of the extension; an example is "CustomScriptExtension".
    type_handler_version str
    Specifies the version of the script handler.
    autoUpgradeMinorVersion Boolean
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    enableAutomaticUpgrade Boolean
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    forceUpdateTag String
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    name String
    The name of the extension.
    protectedSettings Any
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    provisionAfterExtensions List<String>
    Collection of extension names after which this extension needs to be provisioned.
    publisher String
    The name of the extension handler publisher.
    settings Any
    Json formatted public settings for the extension.
    type String
    Specifies the type of the extension; an example is "CustomScriptExtension".
    typeHandlerVersion String
    Specifies the version of the script handler.

    VirtualMachineScaleSetExtensionProfile, VirtualMachineScaleSetExtensionProfileArgs

    Extensions List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetExtension>
    The virtual machine scale set child extension resources.
    ExtensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    Extensions []VirtualMachineScaleSetExtensionType
    The virtual machine scale set child extension resources.
    ExtensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    extensions List<VirtualMachineScaleSetExtension>
    The virtual machine scale set child extension resources.
    extensionsTimeBudget String
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    extensions VirtualMachineScaleSetExtension[]
    The virtual machine scale set child extension resources.
    extensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    extensions Sequence[VirtualMachineScaleSetExtension]
    The virtual machine scale set child extension resources.
    extensions_time_budget str
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    extensions List<Property Map>
    The virtual machine scale set child extension resources.
    extensionsTimeBudget String
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01

    VirtualMachineScaleSetExtensionProfileResponse, VirtualMachineScaleSetExtensionProfileResponseArgs

    Extensions List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionResponse>
    The virtual machine scale set child extension resources.
    ExtensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    Extensions []VirtualMachineScaleSetExtensionResponse
    The virtual machine scale set child extension resources.
    ExtensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    extensions List<VirtualMachineScaleSetExtensionResponse>
    The virtual machine scale set child extension resources.
    extensionsTimeBudget String
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    extensions VirtualMachineScaleSetExtensionResponse[]
    The virtual machine scale set child extension resources.
    extensionsTimeBudget string
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    extensions Sequence[VirtualMachineScaleSetExtensionResponse]
    The virtual machine scale set child extension resources.
    extensions_time_budget str
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01
    extensions List<Property Map>
    The virtual machine scale set child extension resources.
    extensionsTimeBudget String
    Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M). Minimum api-version: 2020-06-01

    VirtualMachineScaleSetExtensionResponse, VirtualMachineScaleSetExtensionResponseArgs

    Id string
    Resource Id
    ProvisioningState string
    The provisioning state, which only appears in the response.
    Type string
    Resource type
    AutoUpgradeMinorVersion bool
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    EnableAutomaticUpgrade bool
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    ForceUpdateTag string
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    Name string
    The name of the extension.
    ProtectedSettings object
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    ProvisionAfterExtensions List<string>
    Collection of extension names after which this extension needs to be provisioned.
    Publisher string
    The name of the extension handler publisher.
    Settings object
    Json formatted public settings for the extension.
    TypeHandlerVersion string
    Specifies the version of the script handler.
    Id string
    Resource Id
    ProvisioningState string
    The provisioning state, which only appears in the response.
    Type string
    Resource type
    AutoUpgradeMinorVersion bool
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    EnableAutomaticUpgrade bool
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    ForceUpdateTag string
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    Name string
    The name of the extension.
    ProtectedSettings interface{}
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    ProvisionAfterExtensions []string
    Collection of extension names after which this extension needs to be provisioned.
    Publisher string
    The name of the extension handler publisher.
    Settings interface{}
    Json formatted public settings for the extension.
    TypeHandlerVersion string
    Specifies the version of the script handler.
    id String
    Resource Id
    provisioningState String
    The provisioning state, which only appears in the response.
    type String
    Resource type
    autoUpgradeMinorVersion Boolean
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    enableAutomaticUpgrade Boolean
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    forceUpdateTag String
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    name String
    The name of the extension.
    protectedSettings Object
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    provisionAfterExtensions List<String>
    Collection of extension names after which this extension needs to be provisioned.
    publisher String
    The name of the extension handler publisher.
    settings Object
    Json formatted public settings for the extension.
    typeHandlerVersion String
    Specifies the version of the script handler.
    id string
    Resource Id
    provisioningState string
    The provisioning state, which only appears in the response.
    type string
    Resource type
    autoUpgradeMinorVersion boolean
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    enableAutomaticUpgrade boolean
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    forceUpdateTag string
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    name string
    The name of the extension.
    protectedSettings any
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    provisionAfterExtensions string[]
    Collection of extension names after which this extension needs to be provisioned.
    publisher string
    The name of the extension handler publisher.
    settings any
    Json formatted public settings for the extension.
    typeHandlerVersion string
    Specifies the version of the script handler.
    id str
    Resource Id
    provisioning_state str
    The provisioning state, which only appears in the response.
    type str
    Resource type
    auto_upgrade_minor_version bool
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    enable_automatic_upgrade bool
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    force_update_tag str
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    name str
    The name of the extension.
    protected_settings Any
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    provision_after_extensions Sequence[str]
    Collection of extension names after which this extension needs to be provisioned.
    publisher str
    The name of the extension handler publisher.
    settings Any
    Json formatted public settings for the extension.
    type_handler_version str
    Specifies the version of the script handler.
    id String
    Resource Id
    provisioningState String
    The provisioning state, which only appears in the response.
    type String
    Resource type
    autoUpgradeMinorVersion Boolean
    Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
    enableAutomaticUpgrade Boolean
    Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
    forceUpdateTag String
    If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.
    name String
    The name of the extension.
    protectedSettings Any
    The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
    provisionAfterExtensions List<String>
    Collection of extension names after which this extension needs to be provisioned.
    publisher String
    The name of the extension handler publisher.
    settings Any
    Json formatted public settings for the extension.
    typeHandlerVersion String
    Specifies the version of the script handler.

    VirtualMachineScaleSetIPConfiguration, VirtualMachineScaleSetIPConfigurationArgs

    Name string
    The IP configuration name.
    ApplicationGatewayBackendAddressPools List<Pulumi.AzureNative.Compute.Inputs.SubResource>
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    ApplicationSecurityGroups List<Pulumi.AzureNative.Compute.Inputs.SubResource>
    Specifies an array of references to application security group.
    Id string
    Resource Id
    LoadBalancerBackendAddressPools List<Pulumi.AzureNative.Compute.Inputs.SubResource>
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    LoadBalancerInboundNatPools List<Pulumi.AzureNative.Compute.Inputs.SubResource>
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    Primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    PrivateIPAddressVersion string | Pulumi.AzureNative.Compute.IPVersion
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    PublicIPAddressConfiguration Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfiguration
    The publicIPAddressConfiguration.
    Subnet Pulumi.AzureNative.Compute.Inputs.ApiEntityReference
    Specifies the identifier of the subnet.
    Name string
    The IP configuration name.
    ApplicationGatewayBackendAddressPools []SubResource
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    ApplicationSecurityGroups []SubResource
    Specifies an array of references to application security group.
    Id string
    Resource Id
    LoadBalancerBackendAddressPools []SubResource
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    LoadBalancerInboundNatPools []SubResource
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    Primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    PrivateIPAddressVersion string | IPVersion
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    PublicIPAddressConfiguration VirtualMachineScaleSetPublicIPAddressConfiguration
    The publicIPAddressConfiguration.
    Subnet ApiEntityReference
    Specifies the identifier of the subnet.
    name String
    The IP configuration name.
    applicationGatewayBackendAddressPools List<SubResource>
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    applicationSecurityGroups List<SubResource>
    Specifies an array of references to application security group.
    id String
    Resource Id
    loadBalancerBackendAddressPools List<SubResource>
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    loadBalancerInboundNatPools List<SubResource>
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    primary Boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    privateIPAddressVersion String | IPVersion
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPAddressConfiguration VirtualMachineScaleSetPublicIPAddressConfiguration
    The publicIPAddressConfiguration.
    subnet ApiEntityReference
    Specifies the identifier of the subnet.
    name string
    The IP configuration name.
    applicationGatewayBackendAddressPools SubResource[]
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    applicationSecurityGroups SubResource[]
    Specifies an array of references to application security group.
    id string
    Resource Id
    loadBalancerBackendAddressPools SubResource[]
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    loadBalancerInboundNatPools SubResource[]
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    primary boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    privateIPAddressVersion string | IPVersion
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPAddressConfiguration VirtualMachineScaleSetPublicIPAddressConfiguration
    The publicIPAddressConfiguration.
    subnet ApiEntityReference
    Specifies the identifier of the subnet.
    name str
    The IP configuration name.
    application_gateway_backend_address_pools Sequence[SubResource]
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    application_security_groups Sequence[SubResource]
    Specifies an array of references to application security group.
    id str
    Resource Id
    load_balancer_backend_address_pools Sequence[SubResource]
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    load_balancer_inbound_nat_pools Sequence[SubResource]
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    private_ip_address_version str | IPVersion
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    public_ip_address_configuration VirtualMachineScaleSetPublicIPAddressConfiguration
    The publicIPAddressConfiguration.
    subnet ApiEntityReference
    Specifies the identifier of the subnet.
    name String
    The IP configuration name.
    applicationGatewayBackendAddressPools List<Property Map>
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    applicationSecurityGroups List<Property Map>
    Specifies an array of references to application security group.
    id String
    Resource Id
    loadBalancerBackendAddressPools List<Property Map>
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    loadBalancerInboundNatPools List<Property Map>
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    primary Boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    privateIPAddressVersion String | "IPv4" | "IPv6"
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPAddressConfiguration Property Map
    The publicIPAddressConfiguration.
    subnet Property Map
    Specifies the identifier of the subnet.

    VirtualMachineScaleSetIPConfigurationResponse, VirtualMachineScaleSetIPConfigurationResponseArgs

    Name string
    The IP configuration name.
    ApplicationGatewayBackendAddressPools List<Pulumi.AzureNative.Compute.Inputs.SubResourceResponse>
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    ApplicationSecurityGroups List<Pulumi.AzureNative.Compute.Inputs.SubResourceResponse>
    Specifies an array of references to application security group.
    Id string
    Resource Id
    LoadBalancerBackendAddressPools List<Pulumi.AzureNative.Compute.Inputs.SubResourceResponse>
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    LoadBalancerInboundNatPools List<Pulumi.AzureNative.Compute.Inputs.SubResourceResponse>
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    Primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    PrivateIPAddressVersion string
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    PublicIPAddressConfiguration Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationResponse
    The publicIPAddressConfiguration.
    Subnet Pulumi.AzureNative.Compute.Inputs.ApiEntityReferenceResponse
    Specifies the identifier of the subnet.
    Name string
    The IP configuration name.
    ApplicationGatewayBackendAddressPools []SubResourceResponse
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    ApplicationSecurityGroups []SubResourceResponse
    Specifies an array of references to application security group.
    Id string
    Resource Id
    LoadBalancerBackendAddressPools []SubResourceResponse
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    LoadBalancerInboundNatPools []SubResourceResponse
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    Primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    PrivateIPAddressVersion string
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    PublicIPAddressConfiguration VirtualMachineScaleSetPublicIPAddressConfigurationResponse
    The publicIPAddressConfiguration.
    Subnet ApiEntityReferenceResponse
    Specifies the identifier of the subnet.
    name String
    The IP configuration name.
    applicationGatewayBackendAddressPools List<SubResourceResponse>
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    applicationSecurityGroups List<SubResourceResponse>
    Specifies an array of references to application security group.
    id String
    Resource Id
    loadBalancerBackendAddressPools List<SubResourceResponse>
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    loadBalancerInboundNatPools List<SubResourceResponse>
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    primary Boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    privateIPAddressVersion String
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPAddressConfiguration VirtualMachineScaleSetPublicIPAddressConfigurationResponse
    The publicIPAddressConfiguration.
    subnet ApiEntityReferenceResponse
    Specifies the identifier of the subnet.
    name string
    The IP configuration name.
    applicationGatewayBackendAddressPools SubResourceResponse[]
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    applicationSecurityGroups SubResourceResponse[]
    Specifies an array of references to application security group.
    id string
    Resource Id
    loadBalancerBackendAddressPools SubResourceResponse[]
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    loadBalancerInboundNatPools SubResourceResponse[]
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    primary boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    privateIPAddressVersion string
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPAddressConfiguration VirtualMachineScaleSetPublicIPAddressConfigurationResponse
    The publicIPAddressConfiguration.
    subnet ApiEntityReferenceResponse
    Specifies the identifier of the subnet.
    name str
    The IP configuration name.
    application_gateway_backend_address_pools Sequence[SubResourceResponse]
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    application_security_groups Sequence[SubResourceResponse]
    Specifies an array of references to application security group.
    id str
    Resource Id
    load_balancer_backend_address_pools Sequence[SubResourceResponse]
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    load_balancer_inbound_nat_pools Sequence[SubResourceResponse]
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    private_ip_address_version str
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    public_ip_address_configuration VirtualMachineScaleSetPublicIPAddressConfigurationResponse
    The publicIPAddressConfiguration.
    subnet ApiEntityReferenceResponse
    Specifies the identifier of the subnet.
    name String
    The IP configuration name.
    applicationGatewayBackendAddressPools List<Property Map>
    Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway.
    applicationSecurityGroups List<Property Map>
    Specifies an array of references to application security group.
    id String
    Resource Id
    loadBalancerBackendAddressPools List<Property Map>
    Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    loadBalancerInboundNatPools List<Property Map>
    Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer.
    primary Boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    privateIPAddressVersion String
    Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPAddressConfiguration Property Map
    The publicIPAddressConfiguration.
    subnet Property Map
    Specifies the identifier of the subnet.

    VirtualMachineScaleSetIdentity, VirtualMachineScaleSetIdentityArgs

    Type Pulumi.AzureNative.Compute.ResourceIdentityType
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    UserAssignedIdentities Dictionary<string, object>
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    Type ResourceIdentityType
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    UserAssignedIdentities map[string]interface{}
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    type ResourceIdentityType
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    userAssignedIdentities Map<String,Object>
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    type ResourceIdentityType
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    userAssignedIdentities {[key: string]: any}
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    type ResourceIdentityType
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    user_assigned_identities Mapping[str, Any]
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    type "SystemAssigned" | "UserAssigned" | "SystemAssigned, UserAssigned" | "None"
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    userAssignedIdentities Map<Any>
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

    VirtualMachineScaleSetIdentityResponse, VirtualMachineScaleSetIdentityResponseArgs

    PrincipalId string
    The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity.
    TenantId string
    The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity.
    Type string
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    UserAssignedIdentities Dictionary<string, Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetIdentityResponseUserAssignedIdentities>
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    PrincipalId string
    The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity.
    TenantId string
    The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity.
    Type string
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    UserAssignedIdentities map[string]VirtualMachineScaleSetIdentityResponseUserAssignedIdentities
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    principalId String
    The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity.
    tenantId String
    The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity.
    type String
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    userAssignedIdentities Map<String,VirtualMachineScaleSetIdentityResponseUserAssignedIdentities>
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    principalId string
    The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity.
    tenantId string
    The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity.
    type string
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    userAssignedIdentities {[key: string]: VirtualMachineScaleSetIdentityResponseUserAssignedIdentities}
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    principal_id str
    The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity.
    tenant_id str
    The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity.
    type str
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    user_assigned_identities Mapping[str, VirtualMachineScaleSetIdentityResponseUserAssignedIdentities]
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.
    principalId String
    The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity.
    tenantId String
    The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity.
    type String
    The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.
    userAssignedIdentities Map<Property Map>
    The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

    VirtualMachineScaleSetIdentityResponseUserAssignedIdentities, VirtualMachineScaleSetIdentityResponseUserAssignedIdentitiesArgs

    ClientId string
    The client id of user assigned identity.
    PrincipalId string
    The principal id of user assigned identity.
    ClientId string
    The client id of user assigned identity.
    PrincipalId string
    The principal id of user assigned identity.
    clientId String
    The client id of user assigned identity.
    principalId String
    The principal id of user assigned identity.
    clientId string
    The client id of user assigned identity.
    principalId string
    The principal id of user assigned identity.
    client_id str
    The client id of user assigned identity.
    principal_id str
    The principal id of user assigned identity.
    clientId String
    The client id of user assigned identity.
    principalId String
    The principal id of user assigned identity.

    VirtualMachineScaleSetIpTag, VirtualMachineScaleSetIpTagArgs

    IpTagType string
    IP tag type. Example: FirstPartyUsage.
    Tag string
    IP tag associated with the public IP. Example: SQL, Storage etc.
    IpTagType string
    IP tag type. Example: FirstPartyUsage.
    Tag string
    IP tag associated with the public IP. Example: SQL, Storage etc.
    ipTagType String
    IP tag type. Example: FirstPartyUsage.
    tag String
    IP tag associated with the public IP. Example: SQL, Storage etc.
    ipTagType string
    IP tag type. Example: FirstPartyUsage.
    tag string
    IP tag associated with the public IP. Example: SQL, Storage etc.
    ip_tag_type str
    IP tag type. Example: FirstPartyUsage.
    tag str
    IP tag associated with the public IP. Example: SQL, Storage etc.
    ipTagType String
    IP tag type. Example: FirstPartyUsage.
    tag String
    IP tag associated with the public IP. Example: SQL, Storage etc.

    VirtualMachineScaleSetIpTagResponse, VirtualMachineScaleSetIpTagResponseArgs

    IpTagType string
    IP tag type. Example: FirstPartyUsage.
    Tag string
    IP tag associated with the public IP. Example: SQL, Storage etc.
    IpTagType string
    IP tag type. Example: FirstPartyUsage.
    Tag string
    IP tag associated with the public IP. Example: SQL, Storage etc.
    ipTagType String
    IP tag type. Example: FirstPartyUsage.
    tag String
    IP tag associated with the public IP. Example: SQL, Storage etc.
    ipTagType string
    IP tag type. Example: FirstPartyUsage.
    tag string
    IP tag associated with the public IP. Example: SQL, Storage etc.
    ip_tag_type str
    IP tag type. Example: FirstPartyUsage.
    tag str
    IP tag associated with the public IP. Example: SQL, Storage etc.
    ipTagType String
    IP tag type. Example: FirstPartyUsage.
    tag String
    IP tag associated with the public IP. Example: SQL, Storage etc.

    VirtualMachineScaleSetManagedDiskParameters, VirtualMachineScaleSetManagedDiskParametersArgs

    DiskEncryptionSet Pulumi.AzureNative.Compute.Inputs.DiskEncryptionSetParameters
    Specifies the customer managed disk encryption set resource id for the managed disk.
    StorageAccountType string | Pulumi.AzureNative.Compute.StorageAccountTypes
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    DiskEncryptionSet DiskEncryptionSetParameters
    Specifies the customer managed disk encryption set resource id for the managed disk.
    StorageAccountType string | StorageAccountTypes
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    diskEncryptionSet DiskEncryptionSetParameters
    Specifies the customer managed disk encryption set resource id for the managed disk.
    storageAccountType String | StorageAccountTypes
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    diskEncryptionSet DiskEncryptionSetParameters
    Specifies the customer managed disk encryption set resource id for the managed disk.
    storageAccountType string | StorageAccountTypes
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    disk_encryption_set DiskEncryptionSetParameters
    Specifies the customer managed disk encryption set resource id for the managed disk.
    storage_account_type str | StorageAccountTypes
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    diskEncryptionSet Property Map
    Specifies the customer managed disk encryption set resource id for the managed disk.
    storageAccountType String | "Standard_LRS" | "Premium_LRS" | "StandardSSD_LRS" | "UltraSSD_LRS" | "Premium_ZRS" | "StandardSSD_ZRS"
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.

    VirtualMachineScaleSetManagedDiskParametersResponse, VirtualMachineScaleSetManagedDiskParametersResponseArgs

    DiskEncryptionSet Pulumi.AzureNative.Compute.Inputs.DiskEncryptionSetParametersResponse
    Specifies the customer managed disk encryption set resource id for the managed disk.
    StorageAccountType string
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    DiskEncryptionSet DiskEncryptionSetParametersResponse
    Specifies the customer managed disk encryption set resource id for the managed disk.
    StorageAccountType string
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    diskEncryptionSet DiskEncryptionSetParametersResponse
    Specifies the customer managed disk encryption set resource id for the managed disk.
    storageAccountType String
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    diskEncryptionSet DiskEncryptionSetParametersResponse
    Specifies the customer managed disk encryption set resource id for the managed disk.
    storageAccountType string
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    disk_encryption_set DiskEncryptionSetParametersResponse
    Specifies the customer managed disk encryption set resource id for the managed disk.
    storage_account_type str
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.
    diskEncryptionSet Property Map
    Specifies the customer managed disk encryption set resource id for the managed disk.
    storageAccountType String
    Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.

    VirtualMachineScaleSetNetworkConfiguration, VirtualMachineScaleSetNetworkConfigurationArgs

    IpConfigurations List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfiguration>
    Specifies the IP configurations of the network interface.
    Name string
    The network configuration name.
    DeleteOption string | Pulumi.AzureNative.Compute.DeleteOptions
    Specify what happens to the network interface when the VM is deleted
    DnsSettings Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationDnsSettings
    The dns settings to be applied on the network interfaces.
    EnableAcceleratedNetworking bool
    Specifies whether the network interface is accelerated networking-enabled.
    EnableFpga bool
    Specifies whether the network interface is FPGA networking-enabled.
    EnableIPForwarding bool
    Whether IP forwarding enabled on this NIC.
    Id string
    Resource Id
    NetworkSecurityGroup Pulumi.AzureNative.Compute.Inputs.SubResource
    The network security group.
    Primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    IpConfigurations []VirtualMachineScaleSetIPConfiguration
    Specifies the IP configurations of the network interface.
    Name string
    The network configuration name.
    DeleteOption string | DeleteOptions
    Specify what happens to the network interface when the VM is deleted
    DnsSettings VirtualMachineScaleSetNetworkConfigurationDnsSettings
    The dns settings to be applied on the network interfaces.
    EnableAcceleratedNetworking bool
    Specifies whether the network interface is accelerated networking-enabled.
    EnableFpga bool
    Specifies whether the network interface is FPGA networking-enabled.
    EnableIPForwarding bool
    Whether IP forwarding enabled on this NIC.
    Id string
    Resource Id
    NetworkSecurityGroup SubResource
    The network security group.
    Primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    ipConfigurations List<VirtualMachineScaleSetIPConfiguration>
    Specifies the IP configurations of the network interface.
    name String
    The network configuration name.
    deleteOption String | DeleteOptions
    Specify what happens to the network interface when the VM is deleted
    dnsSettings VirtualMachineScaleSetNetworkConfigurationDnsSettings
    The dns settings to be applied on the network interfaces.
    enableAcceleratedNetworking Boolean
    Specifies whether the network interface is accelerated networking-enabled.
    enableFpga Boolean
    Specifies whether the network interface is FPGA networking-enabled.
    enableIPForwarding Boolean
    Whether IP forwarding enabled on this NIC.
    id String
    Resource Id
    networkSecurityGroup SubResource
    The network security group.
    primary Boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    ipConfigurations VirtualMachineScaleSetIPConfiguration[]
    Specifies the IP configurations of the network interface.
    name string
    The network configuration name.
    deleteOption string | DeleteOptions
    Specify what happens to the network interface when the VM is deleted
    dnsSettings VirtualMachineScaleSetNetworkConfigurationDnsSettings
    The dns settings to be applied on the network interfaces.
    enableAcceleratedNetworking boolean
    Specifies whether the network interface is accelerated networking-enabled.
    enableFpga boolean
    Specifies whether the network interface is FPGA networking-enabled.
    enableIPForwarding boolean
    Whether IP forwarding enabled on this NIC.
    id string
    Resource Id
    networkSecurityGroup SubResource
    The network security group.
    primary boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    ip_configurations Sequence[VirtualMachineScaleSetIPConfiguration]
    Specifies the IP configurations of the network interface.
    name str
    The network configuration name.
    delete_option str | DeleteOptions
    Specify what happens to the network interface when the VM is deleted
    dns_settings VirtualMachineScaleSetNetworkConfigurationDnsSettings
    The dns settings to be applied on the network interfaces.
    enable_accelerated_networking bool
    Specifies whether the network interface is accelerated networking-enabled.
    enable_fpga bool
    Specifies whether the network interface is FPGA networking-enabled.
    enable_ip_forwarding bool
    Whether IP forwarding enabled on this NIC.
    id str
    Resource Id
    network_security_group SubResource
    The network security group.
    primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    ipConfigurations List<Property Map>
    Specifies the IP configurations of the network interface.
    name String
    The network configuration name.
    deleteOption String | "Delete" | "Detach"
    Specify what happens to the network interface when the VM is deleted
    dnsSettings Property Map
    The dns settings to be applied on the network interfaces.
    enableAcceleratedNetworking Boolean
    Specifies whether the network interface is accelerated networking-enabled.
    enableFpga Boolean
    Specifies whether the network interface is FPGA networking-enabled.
    enableIPForwarding Boolean
    Whether IP forwarding enabled on this NIC.
    id String
    Resource Id
    networkSecurityGroup Property Map
    The network security group.
    primary Boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.

    VirtualMachineScaleSetNetworkConfigurationDnsSettings, VirtualMachineScaleSetNetworkConfigurationDnsSettingsArgs

    DnsServers List<string>
    List of DNS servers IP addresses
    DnsServers []string
    List of DNS servers IP addresses
    dnsServers List<String>
    List of DNS servers IP addresses
    dnsServers string[]
    List of DNS servers IP addresses
    dns_servers Sequence[str]
    List of DNS servers IP addresses
    dnsServers List<String>
    List of DNS servers IP addresses

    VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse, VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponseArgs

    DnsServers List<string>
    List of DNS servers IP addresses
    DnsServers []string
    List of DNS servers IP addresses
    dnsServers List<String>
    List of DNS servers IP addresses
    dnsServers string[]
    List of DNS servers IP addresses
    dns_servers Sequence[str]
    List of DNS servers IP addresses
    dnsServers List<String>
    List of DNS servers IP addresses

    VirtualMachineScaleSetNetworkConfigurationResponse, VirtualMachineScaleSetNetworkConfigurationResponseArgs

    IpConfigurations List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetIPConfigurationResponse>
    Specifies the IP configurations of the network interface.
    Name string
    The network configuration name.
    DeleteOption string
    Specify what happens to the network interface when the VM is deleted
    DnsSettings Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse
    The dns settings to be applied on the network interfaces.
    EnableAcceleratedNetworking bool
    Specifies whether the network interface is accelerated networking-enabled.
    EnableFpga bool
    Specifies whether the network interface is FPGA networking-enabled.
    EnableIPForwarding bool
    Whether IP forwarding enabled on this NIC.
    Id string
    Resource Id
    NetworkSecurityGroup Pulumi.AzureNative.Compute.Inputs.SubResourceResponse
    The network security group.
    Primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    IpConfigurations []VirtualMachineScaleSetIPConfigurationResponse
    Specifies the IP configurations of the network interface.
    Name string
    The network configuration name.
    DeleteOption string
    Specify what happens to the network interface when the VM is deleted
    DnsSettings VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse
    The dns settings to be applied on the network interfaces.
    EnableAcceleratedNetworking bool
    Specifies whether the network interface is accelerated networking-enabled.
    EnableFpga bool
    Specifies whether the network interface is FPGA networking-enabled.
    EnableIPForwarding bool
    Whether IP forwarding enabled on this NIC.
    Id string
    Resource Id
    NetworkSecurityGroup SubResourceResponse
    The network security group.
    Primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    ipConfigurations List<VirtualMachineScaleSetIPConfigurationResponse>
    Specifies the IP configurations of the network interface.
    name String
    The network configuration name.
    deleteOption String
    Specify what happens to the network interface when the VM is deleted
    dnsSettings VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse
    The dns settings to be applied on the network interfaces.
    enableAcceleratedNetworking Boolean
    Specifies whether the network interface is accelerated networking-enabled.
    enableFpga Boolean
    Specifies whether the network interface is FPGA networking-enabled.
    enableIPForwarding Boolean
    Whether IP forwarding enabled on this NIC.
    id String
    Resource Id
    networkSecurityGroup SubResourceResponse
    The network security group.
    primary Boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    ipConfigurations VirtualMachineScaleSetIPConfigurationResponse[]
    Specifies the IP configurations of the network interface.
    name string
    The network configuration name.
    deleteOption string
    Specify what happens to the network interface when the VM is deleted
    dnsSettings VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse
    The dns settings to be applied on the network interfaces.
    enableAcceleratedNetworking boolean
    Specifies whether the network interface is accelerated networking-enabled.
    enableFpga boolean
    Specifies whether the network interface is FPGA networking-enabled.
    enableIPForwarding boolean
    Whether IP forwarding enabled on this NIC.
    id string
    Resource Id
    networkSecurityGroup SubResourceResponse
    The network security group.
    primary boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    ip_configurations Sequence[VirtualMachineScaleSetIPConfigurationResponse]
    Specifies the IP configurations of the network interface.
    name str
    The network configuration name.
    delete_option str
    Specify what happens to the network interface when the VM is deleted
    dns_settings VirtualMachineScaleSetNetworkConfigurationDnsSettingsResponse
    The dns settings to be applied on the network interfaces.
    enable_accelerated_networking bool
    Specifies whether the network interface is accelerated networking-enabled.
    enable_fpga bool
    Specifies whether the network interface is FPGA networking-enabled.
    enable_ip_forwarding bool
    Whether IP forwarding enabled on this NIC.
    id str
    Resource Id
    network_security_group SubResourceResponse
    The network security group.
    primary bool
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.
    ipConfigurations List<Property Map>
    Specifies the IP configurations of the network interface.
    name String
    The network configuration name.
    deleteOption String
    Specify what happens to the network interface when the VM is deleted
    dnsSettings Property Map
    The dns settings to be applied on the network interfaces.
    enableAcceleratedNetworking Boolean
    Specifies whether the network interface is accelerated networking-enabled.
    enableFpga Boolean
    Specifies whether the network interface is FPGA networking-enabled.
    enableIPForwarding Boolean
    Whether IP forwarding enabled on this NIC.
    id String
    Resource Id
    networkSecurityGroup Property Map
    The network security group.
    primary Boolean
    Specifies the primary network interface in case the virtual machine has more than 1 network interface.

    VirtualMachineScaleSetNetworkProfile, VirtualMachineScaleSetNetworkProfileArgs

    HealthProbe Pulumi.AzureNative.Compute.Inputs.ApiEntityReference
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    NetworkApiVersion string | Pulumi.AzureNative.Compute.NetworkApiVersion
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    NetworkInterfaceConfigurations List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfiguration>
    The list of network configurations.
    HealthProbe ApiEntityReference
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    NetworkApiVersion string | NetworkApiVersion
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    NetworkInterfaceConfigurations []VirtualMachineScaleSetNetworkConfiguration
    The list of network configurations.
    healthProbe ApiEntityReference
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    networkApiVersion String | NetworkApiVersion
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    networkInterfaceConfigurations List<VirtualMachineScaleSetNetworkConfiguration>
    The list of network configurations.
    healthProbe ApiEntityReference
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    networkApiVersion string | NetworkApiVersion
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    networkInterfaceConfigurations VirtualMachineScaleSetNetworkConfiguration[]
    The list of network configurations.
    health_probe ApiEntityReference
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    network_api_version str | NetworkApiVersion
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    network_interface_configurations Sequence[VirtualMachineScaleSetNetworkConfiguration]
    The list of network configurations.
    healthProbe Property Map
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    networkApiVersion String | "2020-11-01"
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    networkInterfaceConfigurations List<Property Map>
    The list of network configurations.

    VirtualMachineScaleSetNetworkProfileResponse, VirtualMachineScaleSetNetworkProfileResponseArgs

    HealthProbe Pulumi.AzureNative.Compute.Inputs.ApiEntityReferenceResponse
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    NetworkApiVersion string
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    NetworkInterfaceConfigurations List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkConfigurationResponse>
    The list of network configurations.
    HealthProbe ApiEntityReferenceResponse
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    NetworkApiVersion string
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    NetworkInterfaceConfigurations []VirtualMachineScaleSetNetworkConfigurationResponse
    The list of network configurations.
    healthProbe ApiEntityReferenceResponse
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    networkApiVersion String
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    networkInterfaceConfigurations List<VirtualMachineScaleSetNetworkConfigurationResponse>
    The list of network configurations.
    healthProbe ApiEntityReferenceResponse
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    networkApiVersion string
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    networkInterfaceConfigurations VirtualMachineScaleSetNetworkConfigurationResponse[]
    The list of network configurations.
    health_probe ApiEntityReferenceResponse
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    network_api_version str
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    network_interface_configurations Sequence[VirtualMachineScaleSetNetworkConfigurationResponse]
    The list of network configurations.
    healthProbe Property Map
    A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'.
    networkApiVersion String
    specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'
    networkInterfaceConfigurations List<Property Map>
    The list of network configurations.

    VirtualMachineScaleSetOSDisk, VirtualMachineScaleSetOSDiskArgs

    CreateOption string | Pulumi.AzureNative.Compute.DiskCreateOptionTypes
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    Caching Pulumi.AzureNative.Compute.CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    DiffDiskSettings Pulumi.AzureNative.Compute.Inputs.DiffDiskSettings
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    DiskSizeGB int
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    Image Pulumi.AzureNative.Compute.Inputs.VirtualHardDisk
    Specifies information about the unmanaged user image to base the scale set on.
    ManagedDisk Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    Name string
    The disk name.
    OsType Pulumi.AzureNative.Compute.OperatingSystemTypes
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    VhdContainers List<string>
    Specifies the container urls that are used to store operating system disks for the scale set.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    CreateOption string | DiskCreateOptionTypes
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    Caching CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    DiffDiskSettings DiffDiskSettings
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    DiskSizeGB int
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    Image VirtualHardDisk
    Specifies information about the unmanaged user image to base the scale set on.
    ManagedDisk VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    Name string
    The disk name.
    OsType OperatingSystemTypes
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    VhdContainers []string
    Specifies the container urls that are used to store operating system disks for the scale set.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String | DiskCreateOptionTypes
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    caching CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diffDiskSettings DiffDiskSettings
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    diskSizeGB Integer
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    image VirtualHardDisk
    Specifies information about the unmanaged user image to base the scale set on.
    managedDisk VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    name String
    The disk name.
    osType OperatingSystemTypes
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    vhdContainers List<String>
    Specifies the container urls that are used to store operating system disks for the scale set.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption string | DiskCreateOptionTypes
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    caching CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diffDiskSettings DiffDiskSettings
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    diskSizeGB number
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    image VirtualHardDisk
    Specifies information about the unmanaged user image to base the scale set on.
    managedDisk VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    name string
    The disk name.
    osType OperatingSystemTypes
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    vhdContainers string[]
    Specifies the container urls that are used to store operating system disks for the scale set.
    writeAcceleratorEnabled boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    create_option str | DiskCreateOptionTypes
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    caching CachingTypes
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diff_disk_settings DiffDiskSettings
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    disk_size_gb int
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    image VirtualHardDisk
    Specifies information about the unmanaged user image to base the scale set on.
    managed_disk VirtualMachineScaleSetManagedDiskParameters
    The managed disk parameters.
    name str
    The disk name.
    os_type OperatingSystemTypes
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    vhd_containers Sequence[str]
    Specifies the container urls that are used to store operating system disks for the scale set.
    write_accelerator_enabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String | "FromImage" | "Empty" | "Attach"
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    caching "None" | "ReadOnly" | "ReadWrite"
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diffDiskSettings Property Map
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    diskSizeGB Number
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    image Property Map
    Specifies information about the unmanaged user image to base the scale set on.
    managedDisk Property Map
    The managed disk parameters.
    name String
    The disk name.
    osType "Windows" | "Linux"
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    vhdContainers List<String>
    Specifies the container urls that are used to store operating system disks for the scale set.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.

    VirtualMachineScaleSetOSDiskResponse, VirtualMachineScaleSetOSDiskResponseArgs

    CreateOption string
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    Caching string
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    DiffDiskSettings Pulumi.AzureNative.Compute.Inputs.DiffDiskSettingsResponse
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    DiskSizeGB int
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    Image Pulumi.AzureNative.Compute.Inputs.VirtualHardDiskResponse
    Specifies information about the unmanaged user image to base the scale set on.
    ManagedDisk Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    Name string
    The disk name.
    OsType string
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    VhdContainers List<string>
    Specifies the container urls that are used to store operating system disks for the scale set.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    CreateOption string
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    Caching string
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    DiffDiskSettings DiffDiskSettingsResponse
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    DiskSizeGB int
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    Image VirtualHardDiskResponse
    Specifies information about the unmanaged user image to base the scale set on.
    ManagedDisk VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    Name string
    The disk name.
    OsType string
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    VhdContainers []string
    Specifies the container urls that are used to store operating system disks for the scale set.
    WriteAcceleratorEnabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    caching String
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diffDiskSettings DiffDiskSettingsResponse
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    diskSizeGB Integer
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    image VirtualHardDiskResponse
    Specifies information about the unmanaged user image to base the scale set on.
    managedDisk VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    name String
    The disk name.
    osType String
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    vhdContainers List<String>
    Specifies the container urls that are used to store operating system disks for the scale set.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption string
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    caching string
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diffDiskSettings DiffDiskSettingsResponse
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    diskSizeGB number
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    image VirtualHardDiskResponse
    Specifies information about the unmanaged user image to base the scale set on.
    managedDisk VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    name string
    The disk name.
    osType string
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    vhdContainers string[]
    Specifies the container urls that are used to store operating system disks for the scale set.
    writeAcceleratorEnabled boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    create_option str
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    caching str
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diff_disk_settings DiffDiskSettingsResponse
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    disk_size_gb int
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    image VirtualHardDiskResponse
    Specifies information about the unmanaged user image to base the scale set on.
    managed_disk VirtualMachineScaleSetManagedDiskParametersResponse
    The managed disk parameters.
    name str
    The disk name.
    os_type str
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    vhd_containers Sequence[str]
    Specifies the container urls that are used to store operating system disks for the scale set.
    write_accelerator_enabled bool
    Specifies whether writeAccelerator should be enabled or disabled on the disk.
    createOption String
    Specifies how the virtual machines in the scale set should be created. The only allowed value is: FromImage \u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.
    caching String
    Specifies the caching requirements. Possible values are: None ReadOnly ReadWrite Default: None for Standard storage. ReadOnly for Premium storage
    diffDiskSettings Property Map
    Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set.
    diskSizeGB Number
    Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image. This value cannot be larger than 1023 GB
    image Property Map
    Specifies information about the unmanaged user image to base the scale set on.
    managedDisk Property Map
    The managed disk parameters.
    name String
    The disk name.
    osType String
    This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: Windows Linux
    vhdContainers List<String>
    Specifies the container urls that are used to store operating system disks for the scale set.
    writeAcceleratorEnabled Boolean
    Specifies whether writeAccelerator should be enabled or disabled on the disk.

    VirtualMachineScaleSetOSProfile, VirtualMachineScaleSetOSProfileArgs

    AdminPassword string
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    AdminUsername string
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    ComputerNamePrefix string
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    CustomData string
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    LinuxConfiguration Pulumi.AzureNative.Compute.Inputs.LinuxConfiguration
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    Secrets List<Pulumi.AzureNative.Compute.Inputs.VaultSecretGroup>
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    WindowsConfiguration Pulumi.AzureNative.Compute.Inputs.WindowsConfiguration
    Specifies Windows operating system settings on the virtual machine.
    AdminPassword string
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    AdminUsername string
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    ComputerNamePrefix string
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    CustomData string
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    LinuxConfiguration LinuxConfiguration
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    Secrets []VaultSecretGroup
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    WindowsConfiguration WindowsConfiguration
    Specifies Windows operating system settings on the virtual machine.
    adminPassword String
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    adminUsername String
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    computerNamePrefix String
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    customData String
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    linuxConfiguration LinuxConfiguration
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    secrets List<VaultSecretGroup>
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    windowsConfiguration WindowsConfiguration
    Specifies Windows operating system settings on the virtual machine.
    adminPassword string
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    adminUsername string
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    computerNamePrefix string
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    customData string
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    linuxConfiguration LinuxConfiguration
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    secrets VaultSecretGroup[]
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    windowsConfiguration WindowsConfiguration
    Specifies Windows operating system settings on the virtual machine.
    admin_password str
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    admin_username str
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    computer_name_prefix str
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    custom_data str
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    linux_configuration LinuxConfiguration
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    secrets Sequence[VaultSecretGroup]
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    windows_configuration WindowsConfiguration
    Specifies Windows operating system settings on the virtual machine.
    adminPassword String
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    adminUsername String
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    computerNamePrefix String
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    customData String
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    linuxConfiguration Property Map
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    secrets List<Property Map>
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    windowsConfiguration Property Map
    Specifies Windows operating system settings on the virtual machine.

    VirtualMachineScaleSetOSProfileResponse, VirtualMachineScaleSetOSProfileResponseArgs

    AdminPassword string
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    AdminUsername string
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    ComputerNamePrefix string
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    CustomData string
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    LinuxConfiguration Pulumi.AzureNative.Compute.Inputs.LinuxConfigurationResponse
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    Secrets List<Pulumi.AzureNative.Compute.Inputs.VaultSecretGroupResponse>
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    WindowsConfiguration Pulumi.AzureNative.Compute.Inputs.WindowsConfigurationResponse
    Specifies Windows operating system settings on the virtual machine.
    AdminPassword string
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    AdminUsername string
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    ComputerNamePrefix string
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    CustomData string
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    LinuxConfiguration LinuxConfigurationResponse
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    Secrets []VaultSecretGroupResponse
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    WindowsConfiguration WindowsConfigurationResponse
    Specifies Windows operating system settings on the virtual machine.
    adminPassword String
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    adminUsername String
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    computerNamePrefix String
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    customData String
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    linuxConfiguration LinuxConfigurationResponse
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    secrets List<VaultSecretGroupResponse>
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    windowsConfiguration WindowsConfigurationResponse
    Specifies Windows operating system settings on the virtual machine.
    adminPassword string
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    adminUsername string
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    computerNamePrefix string
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    customData string
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    linuxConfiguration LinuxConfigurationResponse
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    secrets VaultSecretGroupResponse[]
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    windowsConfiguration WindowsConfigurationResponse
    Specifies Windows operating system settings on the virtual machine.
    admin_password str
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    admin_username str
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    computer_name_prefix str
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    custom_data str
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    linux_configuration LinuxConfigurationResponse
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    secrets Sequence[VaultSecretGroupResponse]
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    windows_configuration WindowsConfigurationResponse
    Specifies Windows operating system settings on the virtual machine.
    adminPassword String
    Specifies the password of the administrator account. Minimum-length (Windows): 8 characters Minimum-length (Linux): 6 characters Max-length (Windows): 123 characters Max-length (Linux): 72 characters Complexity requirements: 3 out of 4 conditions below need to be fulfilled Has lower characters Has upper characters Has a digit Has a special character (Regex match [\W_]) **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension
    adminUsername String
    Specifies the name of the administrator account. Windows-only restriction: Cannot end in "." Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Minimum-length (Linux): 1 character Max-length (Linux): 64 characters Max-length (Windows): 20 characters
    computerNamePrefix String
    Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long.
    customData String
    Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see Using cloud-init to customize a Linux VM during creation
    linuxConfiguration Property Map
    Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see Linux on Azure-Endorsed Distributions.
    secrets List<Property Map>
    Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    windowsConfiguration Property Map
    Specifies Windows operating system settings on the virtual machine.

    VirtualMachineScaleSetPublicIPAddressConfiguration, VirtualMachineScaleSetPublicIPAddressConfigurationArgs

    Name string
    The publicIP address configuration name.
    DeleteOption string | Pulumi.AzureNative.Compute.DeleteOptions
    Specify what happens to the public IP when the VM is deleted
    DnsSettings Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings
    The dns settings to be applied on the publicIP addresses .
    IdleTimeoutInMinutes int
    The idle timeout of the public IP address.
    IpTags List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetIpTag>
    The list of IP tags associated with the public IP address.
    PublicIPAddressVersion string | Pulumi.AzureNative.Compute.IPVersion
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    PublicIPPrefix Pulumi.AzureNative.Compute.Inputs.SubResource
    The PublicIPPrefix from which to allocate publicIP addresses.
    Sku Pulumi.AzureNative.Compute.Inputs.PublicIPAddressSku
    Describes the public IP Sku
    Name string
    The publicIP address configuration name.
    DeleteOption string | DeleteOptions
    Specify what happens to the public IP when the VM is deleted
    DnsSettings VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings
    The dns settings to be applied on the publicIP addresses .
    IdleTimeoutInMinutes int
    The idle timeout of the public IP address.
    IpTags []VirtualMachineScaleSetIpTag
    The list of IP tags associated with the public IP address.
    PublicIPAddressVersion string | IPVersion
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    PublicIPPrefix SubResource
    The PublicIPPrefix from which to allocate publicIP addresses.
    Sku PublicIPAddressSku
    Describes the public IP Sku
    name String
    The publicIP address configuration name.
    deleteOption String | DeleteOptions
    Specify what happens to the public IP when the VM is deleted
    dnsSettings VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings
    The dns settings to be applied on the publicIP addresses .
    idleTimeoutInMinutes Integer
    The idle timeout of the public IP address.
    ipTags List<VirtualMachineScaleSetIpTag>
    The list of IP tags associated with the public IP address.
    publicIPAddressVersion String | IPVersion
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPPrefix SubResource
    The PublicIPPrefix from which to allocate publicIP addresses.
    sku PublicIPAddressSku
    Describes the public IP Sku
    name string
    The publicIP address configuration name.
    deleteOption string | DeleteOptions
    Specify what happens to the public IP when the VM is deleted
    dnsSettings VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings
    The dns settings to be applied on the publicIP addresses .
    idleTimeoutInMinutes number
    The idle timeout of the public IP address.
    ipTags VirtualMachineScaleSetIpTag[]
    The list of IP tags associated with the public IP address.
    publicIPAddressVersion string | IPVersion
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPPrefix SubResource
    The PublicIPPrefix from which to allocate publicIP addresses.
    sku PublicIPAddressSku
    Describes the public IP Sku
    name str
    The publicIP address configuration name.
    delete_option str | DeleteOptions
    Specify what happens to the public IP when the VM is deleted
    dns_settings VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings
    The dns settings to be applied on the publicIP addresses .
    idle_timeout_in_minutes int
    The idle timeout of the public IP address.
    ip_tags Sequence[VirtualMachineScaleSetIpTag]
    The list of IP tags associated with the public IP address.
    public_ip_address_version str | IPVersion
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    public_ip_prefix SubResource
    The PublicIPPrefix from which to allocate publicIP addresses.
    sku PublicIPAddressSku
    Describes the public IP Sku
    name String
    The publicIP address configuration name.
    deleteOption String | "Delete" | "Detach"
    Specify what happens to the public IP when the VM is deleted
    dnsSettings Property Map
    The dns settings to be applied on the publicIP addresses .
    idleTimeoutInMinutes Number
    The idle timeout of the public IP address.
    ipTags List<Property Map>
    The list of IP tags associated with the public IP address.
    publicIPAddressVersion String | "IPv4" | "IPv6"
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPPrefix Property Map
    The PublicIPPrefix from which to allocate publicIP addresses.
    sku Property Map
    Describes the public IP Sku

    VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings, VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsArgs

    DomainNameLabel string
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    DomainNameLabel string
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    domainNameLabel String
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    domainNameLabel string
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    domain_name_label str
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    domainNameLabel String
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created

    VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse, VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponseArgs

    DomainNameLabel string
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    DomainNameLabel string
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    domainNameLabel String
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    domainNameLabel string
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    domain_name_label str
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created
    domainNameLabel String
    The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created

    VirtualMachineScaleSetPublicIPAddressConfigurationResponse, VirtualMachineScaleSetPublicIPAddressConfigurationResponseArgs

    Name string
    The publicIP address configuration name.
    DeleteOption string
    Specify what happens to the public IP when the VM is deleted
    DnsSettings Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse
    The dns settings to be applied on the publicIP addresses .
    IdleTimeoutInMinutes int
    The idle timeout of the public IP address.
    IpTags List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetIpTagResponse>
    The list of IP tags associated with the public IP address.
    PublicIPAddressVersion string
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    PublicIPPrefix Pulumi.AzureNative.Compute.Inputs.SubResourceResponse
    The PublicIPPrefix from which to allocate publicIP addresses.
    Sku Pulumi.AzureNative.Compute.Inputs.PublicIPAddressSkuResponse
    Describes the public IP Sku
    Name string
    The publicIP address configuration name.
    DeleteOption string
    Specify what happens to the public IP when the VM is deleted
    DnsSettings VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse
    The dns settings to be applied on the publicIP addresses .
    IdleTimeoutInMinutes int
    The idle timeout of the public IP address.
    IpTags []VirtualMachineScaleSetIpTagResponse
    The list of IP tags associated with the public IP address.
    PublicIPAddressVersion string
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    PublicIPPrefix SubResourceResponse
    The PublicIPPrefix from which to allocate publicIP addresses.
    Sku PublicIPAddressSkuResponse
    Describes the public IP Sku
    name String
    The publicIP address configuration name.
    deleteOption String
    Specify what happens to the public IP when the VM is deleted
    dnsSettings VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse
    The dns settings to be applied on the publicIP addresses .
    idleTimeoutInMinutes Integer
    The idle timeout of the public IP address.
    ipTags List<VirtualMachineScaleSetIpTagResponse>
    The list of IP tags associated with the public IP address.
    publicIPAddressVersion String
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPPrefix SubResourceResponse
    The PublicIPPrefix from which to allocate publicIP addresses.
    sku PublicIPAddressSkuResponse
    Describes the public IP Sku
    name string
    The publicIP address configuration name.
    deleteOption string
    Specify what happens to the public IP when the VM is deleted
    dnsSettings VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse
    The dns settings to be applied on the publicIP addresses .
    idleTimeoutInMinutes number
    The idle timeout of the public IP address.
    ipTags VirtualMachineScaleSetIpTagResponse[]
    The list of IP tags associated with the public IP address.
    publicIPAddressVersion string
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPPrefix SubResourceResponse
    The PublicIPPrefix from which to allocate publicIP addresses.
    sku PublicIPAddressSkuResponse
    Describes the public IP Sku
    name str
    The publicIP address configuration name.
    delete_option str
    Specify what happens to the public IP when the VM is deleted
    dns_settings VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettingsResponse
    The dns settings to be applied on the publicIP addresses .
    idle_timeout_in_minutes int
    The idle timeout of the public IP address.
    ip_tags Sequence[VirtualMachineScaleSetIpTagResponse]
    The list of IP tags associated with the public IP address.
    public_ip_address_version str
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    public_ip_prefix SubResourceResponse
    The PublicIPPrefix from which to allocate publicIP addresses.
    sku PublicIPAddressSkuResponse
    Describes the public IP Sku
    name String
    The publicIP address configuration name.
    deleteOption String
    Specify what happens to the public IP when the VM is deleted
    dnsSettings Property Map
    The dns settings to be applied on the publicIP addresses .
    idleTimeoutInMinutes Number
    The idle timeout of the public IP address.
    ipTags List<Property Map>
    The list of IP tags associated with the public IP address.
    publicIPAddressVersion String
    Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
    publicIPPrefix Property Map
    The PublicIPPrefix from which to allocate publicIP addresses.
    sku Property Map
    Describes the public IP Sku

    VirtualMachineScaleSetScaleInRules, VirtualMachineScaleSetScaleInRulesArgs

    Default
    Default
    OldestVM
    OldestVM
    NewestVM
    NewestVM
    VirtualMachineScaleSetScaleInRulesDefault
    Default
    VirtualMachineScaleSetScaleInRulesOldestVM
    OldestVM
    VirtualMachineScaleSetScaleInRulesNewestVM
    NewestVM
    Default
    Default
    OldestVM
    OldestVM
    NewestVM
    NewestVM
    Default
    Default
    OldestVM
    OldestVM
    NewestVM
    NewestVM
    DEFAULT
    Default
    OLDEST_VM
    OldestVM
    NEWEST_VM
    NewestVM
    "Default"
    Default
    "OldestVM"
    OldestVM
    "NewestVM"
    NewestVM

    VirtualMachineScaleSetStorageProfile, VirtualMachineScaleSetStorageProfileArgs

    DataDisks List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDisk>
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    ImageReference Pulumi.AzureNative.Compute.Inputs.ImageReference
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    OsDisk Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDisk
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    DataDisks []VirtualMachineScaleSetDataDisk
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    ImageReference ImageReference
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    OsDisk VirtualMachineScaleSetOSDisk
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    dataDisks List<VirtualMachineScaleSetDataDisk>
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    imageReference ImageReference
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    osDisk VirtualMachineScaleSetOSDisk
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    dataDisks VirtualMachineScaleSetDataDisk[]
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    imageReference ImageReference
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    osDisk VirtualMachineScaleSetOSDisk
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    data_disks Sequence[VirtualMachineScaleSetDataDisk]
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    image_reference ImageReference
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    os_disk VirtualMachineScaleSetOSDisk
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    dataDisks List<Property Map>
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    imageReference Property Map
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    osDisk Property Map
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.

    VirtualMachineScaleSetStorageProfileResponse, VirtualMachineScaleSetStorageProfileResponseArgs

    DataDisks List<Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetDataDiskResponse>
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    ImageReference Pulumi.AzureNative.Compute.Inputs.ImageReferenceResponse
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    OsDisk Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetOSDiskResponse
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    DataDisks []VirtualMachineScaleSetDataDiskResponse
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    ImageReference ImageReferenceResponse
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    OsDisk VirtualMachineScaleSetOSDiskResponse
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    dataDisks List<VirtualMachineScaleSetDataDiskResponse>
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    imageReference ImageReferenceResponse
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    osDisk VirtualMachineScaleSetOSDiskResponse
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    dataDisks VirtualMachineScaleSetDataDiskResponse[]
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    imageReference ImageReferenceResponse
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    osDisk VirtualMachineScaleSetOSDiskResponse
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    data_disks Sequence[VirtualMachineScaleSetDataDiskResponse]
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    image_reference ImageReferenceResponse
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    os_disk VirtualMachineScaleSetOSDiskResponse
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    dataDisks List<Property Map>
    Specifies the parameters that are used to add data disks to the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.
    imageReference Property Map
    Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.
    osDisk Property Map
    Specifies information about the operating system disk used by the virtual machines in the scale set. For more information about disks, see About disks and VHDs for Azure virtual machines.

    VirtualMachineScaleSetVMProfile, VirtualMachineScaleSetVMProfileArgs

    BillingProfile Pulumi.AzureNative.Compute.Inputs.BillingProfile
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    DiagnosticsProfile Pulumi.AzureNative.Compute.Inputs.DiagnosticsProfile
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    EvictionPolicy string | Pulumi.AzureNative.Compute.VirtualMachineEvictionPolicyTypes
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    ExtensionProfile Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionProfile
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    LicenseType string
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    NetworkProfile Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfile
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    OsProfile Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfile
    Specifies the operating system settings for the virtual machines in the scale set.
    Priority string | Pulumi.AzureNative.Compute.VirtualMachinePriorityTypes
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    ScheduledEventsProfile Pulumi.AzureNative.Compute.Inputs.ScheduledEventsProfile
    Specifies Scheduled Event related configurations.
    SecurityProfile Pulumi.AzureNative.Compute.Inputs.SecurityProfile
    Specifies the Security related profile settings for the virtual machines in the scale set.
    StorageProfile Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfile
    Specifies the storage settings for the virtual machine disks.
    UserData string
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    BillingProfile BillingProfile
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    DiagnosticsProfile DiagnosticsProfile
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    EvictionPolicy string | VirtualMachineEvictionPolicyTypes
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    ExtensionProfile VirtualMachineScaleSetExtensionProfile
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    LicenseType string
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    NetworkProfile VirtualMachineScaleSetNetworkProfile
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    OsProfile VirtualMachineScaleSetOSProfile
    Specifies the operating system settings for the virtual machines in the scale set.
    Priority string | VirtualMachinePriorityTypes
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    ScheduledEventsProfile ScheduledEventsProfile
    Specifies Scheduled Event related configurations.
    SecurityProfile SecurityProfile
    Specifies the Security related profile settings for the virtual machines in the scale set.
    StorageProfile VirtualMachineScaleSetStorageProfile
    Specifies the storage settings for the virtual machine disks.
    UserData string
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    billingProfile BillingProfile
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    diagnosticsProfile DiagnosticsProfile
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    evictionPolicy String | VirtualMachineEvictionPolicyTypes
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    extensionProfile VirtualMachineScaleSetExtensionProfile
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    licenseType String
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    networkProfile VirtualMachineScaleSetNetworkProfile
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    osProfile VirtualMachineScaleSetOSProfile
    Specifies the operating system settings for the virtual machines in the scale set.
    priority String | VirtualMachinePriorityTypes
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    scheduledEventsProfile ScheduledEventsProfile
    Specifies Scheduled Event related configurations.
    securityProfile SecurityProfile
    Specifies the Security related profile settings for the virtual machines in the scale set.
    storageProfile VirtualMachineScaleSetStorageProfile
    Specifies the storage settings for the virtual machine disks.
    userData String
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    billingProfile BillingProfile
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    diagnosticsProfile DiagnosticsProfile
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    evictionPolicy string | VirtualMachineEvictionPolicyTypes
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    extensionProfile VirtualMachineScaleSetExtensionProfile
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    licenseType string
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    networkProfile VirtualMachineScaleSetNetworkProfile
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    osProfile VirtualMachineScaleSetOSProfile
    Specifies the operating system settings for the virtual machines in the scale set.
    priority string | VirtualMachinePriorityTypes
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    scheduledEventsProfile ScheduledEventsProfile
    Specifies Scheduled Event related configurations.
    securityProfile SecurityProfile
    Specifies the Security related profile settings for the virtual machines in the scale set.
    storageProfile VirtualMachineScaleSetStorageProfile
    Specifies the storage settings for the virtual machine disks.
    userData string
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    billing_profile BillingProfile
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    diagnostics_profile DiagnosticsProfile
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    eviction_policy str | VirtualMachineEvictionPolicyTypes
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    extension_profile VirtualMachineScaleSetExtensionProfile
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    license_type str
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    network_profile VirtualMachineScaleSetNetworkProfile
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    os_profile VirtualMachineScaleSetOSProfile
    Specifies the operating system settings for the virtual machines in the scale set.
    priority str | VirtualMachinePriorityTypes
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    scheduled_events_profile ScheduledEventsProfile
    Specifies Scheduled Event related configurations.
    security_profile SecurityProfile
    Specifies the Security related profile settings for the virtual machines in the scale set.
    storage_profile VirtualMachineScaleSetStorageProfile
    Specifies the storage settings for the virtual machine disks.
    user_data str
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    billingProfile Property Map
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    diagnosticsProfile Property Map
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    evictionPolicy String | "Deallocate" | "Delete"
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    extensionProfile Property Map
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    licenseType String
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    networkProfile Property Map
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    osProfile Property Map
    Specifies the operating system settings for the virtual machines in the scale set.
    priority String | "Regular" | "Low" | "Spot"
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    scheduledEventsProfile Property Map
    Specifies Scheduled Event related configurations.
    securityProfile Property Map
    Specifies the Security related profile settings for the virtual machines in the scale set.
    storageProfile Property Map
    Specifies the storage settings for the virtual machine disks.
    userData String
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01

    VirtualMachineScaleSetVMProfileResponse, VirtualMachineScaleSetVMProfileResponseArgs

    BillingProfile Pulumi.AzureNative.Compute.Inputs.BillingProfileResponse
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    DiagnosticsProfile Pulumi.AzureNative.Compute.Inputs.DiagnosticsProfileResponse
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    EvictionPolicy string
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    ExtensionProfile Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetExtensionProfileResponse
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    LicenseType string
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    NetworkProfile Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetNetworkProfileResponse
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    OsProfile Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetOSProfileResponse
    Specifies the operating system settings for the virtual machines in the scale set.
    Priority string
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    ScheduledEventsProfile Pulumi.AzureNative.Compute.Inputs.ScheduledEventsProfileResponse
    Specifies Scheduled Event related configurations.
    SecurityProfile Pulumi.AzureNative.Compute.Inputs.SecurityProfileResponse
    Specifies the Security related profile settings for the virtual machines in the scale set.
    StorageProfile Pulumi.AzureNative.Compute.Inputs.VirtualMachineScaleSetStorageProfileResponse
    Specifies the storage settings for the virtual machine disks.
    UserData string
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    BillingProfile BillingProfileResponse
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    DiagnosticsProfile DiagnosticsProfileResponse
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    EvictionPolicy string
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    ExtensionProfile VirtualMachineScaleSetExtensionProfileResponse
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    LicenseType string
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    NetworkProfile VirtualMachineScaleSetNetworkProfileResponse
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    OsProfile VirtualMachineScaleSetOSProfileResponse
    Specifies the operating system settings for the virtual machines in the scale set.
    Priority string
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    ScheduledEventsProfile ScheduledEventsProfileResponse
    Specifies Scheduled Event related configurations.
    SecurityProfile SecurityProfileResponse
    Specifies the Security related profile settings for the virtual machines in the scale set.
    StorageProfile VirtualMachineScaleSetStorageProfileResponse
    Specifies the storage settings for the virtual machine disks.
    UserData string
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    billingProfile BillingProfileResponse
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    diagnosticsProfile DiagnosticsProfileResponse
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    evictionPolicy String
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    extensionProfile VirtualMachineScaleSetExtensionProfileResponse
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    licenseType String
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    networkProfile VirtualMachineScaleSetNetworkProfileResponse
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    osProfile VirtualMachineScaleSetOSProfileResponse
    Specifies the operating system settings for the virtual machines in the scale set.
    priority String
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    scheduledEventsProfile ScheduledEventsProfileResponse
    Specifies Scheduled Event related configurations.
    securityProfile SecurityProfileResponse
    Specifies the Security related profile settings for the virtual machines in the scale set.
    storageProfile VirtualMachineScaleSetStorageProfileResponse
    Specifies the storage settings for the virtual machine disks.
    userData String
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    billingProfile BillingProfileResponse
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    diagnosticsProfile DiagnosticsProfileResponse
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    evictionPolicy string
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    extensionProfile VirtualMachineScaleSetExtensionProfileResponse
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    licenseType string
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    networkProfile VirtualMachineScaleSetNetworkProfileResponse
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    osProfile VirtualMachineScaleSetOSProfileResponse
    Specifies the operating system settings for the virtual machines in the scale set.
    priority string
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    scheduledEventsProfile ScheduledEventsProfileResponse
    Specifies Scheduled Event related configurations.
    securityProfile SecurityProfileResponse
    Specifies the Security related profile settings for the virtual machines in the scale set.
    storageProfile VirtualMachineScaleSetStorageProfileResponse
    Specifies the storage settings for the virtual machine disks.
    userData string
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    billing_profile BillingProfileResponse
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    diagnostics_profile DiagnosticsProfileResponse
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    eviction_policy str
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    extension_profile VirtualMachineScaleSetExtensionProfileResponse
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    license_type str
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    network_profile VirtualMachineScaleSetNetworkProfileResponse
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    os_profile VirtualMachineScaleSetOSProfileResponse
    Specifies the operating system settings for the virtual machines in the scale set.
    priority str
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    scheduled_events_profile ScheduledEventsProfileResponse
    Specifies Scheduled Event related configurations.
    security_profile SecurityProfileResponse
    Specifies the Security related profile settings for the virtual machines in the scale set.
    storage_profile VirtualMachineScaleSetStorageProfileResponse
    Specifies the storage settings for the virtual machine disks.
    user_data str
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01
    billingProfile Property Map
    Specifies the billing related details of a Azure Spot VMSS. Minimum api-version: 2019-03-01.
    diagnosticsProfile Property Map
    Specifies the boot diagnostic settings state. Minimum api-version: 2015-06-15.
    evictionPolicy String
    Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set. For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01. For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview.
    extensionProfile Property Map
    Specifies a collection of settings for extensions installed on virtual machines in the scale set.
    licenseType String
    Specifies that the image or disk that is being used was licensed on-premises. Possible values for Windows Server operating system are: Windows_Client Windows_Server Possible values for Linux Server operating system are: RHEL_BYOS (for RHEL) SLES_BYOS (for SUSE) For more information, see Azure Hybrid Use Benefit for Windows Server Azure Hybrid Use Benefit for Linux Server Minimum api-version: 2015-06-15
    networkProfile Property Map
    Specifies properties of the network interfaces of the virtual machines in the scale set.
    osProfile Property Map
    Specifies the operating system settings for the virtual machines in the scale set.
    priority String
    Specifies the priority for the virtual machines in the scale set. Minimum api-version: 2017-10-30-preview
    scheduledEventsProfile Property Map
    Specifies Scheduled Event related configurations.
    securityProfile Property Map
    Specifies the Security related profile settings for the virtual machines in the scale set.
    storageProfile Property Map
    Specifies the storage settings for the virtual machine disks.
    userData String
    UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here. Minimum api-version: 2021-03-01

    WinRMConfiguration, WinRMConfigurationArgs

    Listeners List<Pulumi.AzureNative.Compute.Inputs.WinRMListener>
    The list of Windows Remote Management listeners
    Listeners []WinRMListener
    The list of Windows Remote Management listeners
    listeners List<WinRMListener>
    The list of Windows Remote Management listeners
    listeners WinRMListener[]
    The list of Windows Remote Management listeners
    listeners Sequence[WinRMListener]
    The list of Windows Remote Management listeners
    listeners List<Property Map>
    The list of Windows Remote Management listeners

    WinRMConfigurationResponse, WinRMConfigurationResponseArgs

    Listeners List<Pulumi.AzureNative.Compute.Inputs.WinRMListenerResponse>
    The list of Windows Remote Management listeners
    Listeners []WinRMListenerResponse
    The list of Windows Remote Management listeners
    listeners List<WinRMListenerResponse>
    The list of Windows Remote Management listeners
    listeners WinRMListenerResponse[]
    The list of Windows Remote Management listeners
    listeners Sequence[WinRMListenerResponse]
    The list of Windows Remote Management listeners
    listeners List<Property Map>
    The list of Windows Remote Management listeners

    WinRMListener, WinRMListenerArgs

    CertificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    Protocol Pulumi.AzureNative.Compute.ProtocolTypes
    Specifies the protocol of WinRM listener. Possible values are: http https
    CertificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    Protocol ProtocolTypes
    Specifies the protocol of WinRM listener. Possible values are: http https
    certificateUrl String
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    protocol ProtocolTypes
    Specifies the protocol of WinRM listener. Possible values are: http https
    certificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    protocol ProtocolTypes
    Specifies the protocol of WinRM listener. Possible values are: http https
    certificate_url str
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    protocol ProtocolTypes
    Specifies the protocol of WinRM listener. Possible values are: http https
    certificateUrl String
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    protocol "Http" | "Https"
    Specifies the protocol of WinRM listener. Possible values are: http https

    WinRMListenerResponse, WinRMListenerResponseArgs

    CertificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    Protocol string
    Specifies the protocol of WinRM listener. Possible values are: http https
    CertificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    Protocol string
    Specifies the protocol of WinRM listener. Possible values are: http https
    certificateUrl String
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    protocol String
    Specifies the protocol of WinRM listener. Possible values are: http https
    certificateUrl string
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    protocol string
    Specifies the protocol of WinRM listener. Possible values are: http https
    certificate_url str
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    protocol str
    Specifies the protocol of WinRM listener. Possible values are: http https
    certificateUrl String
    This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8: { "data":"", "dataType":"pfx", "password":""} To install certificates on a virtual machine it is recommended to use the Azure Key Vault virtual machine extension for Linux or the Azure Key Vault virtual machine extension for Windows.
    protocol String
    Specifies the protocol of WinRM listener. Possible values are: http https

    WindowsConfiguration, WindowsConfigurationArgs

    AdditionalUnattendContent List<Pulumi.AzureNative.Compute.Inputs.AdditionalUnattendContent>
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    EnableAutomaticUpdates bool
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    PatchSettings Pulumi.AzureNative.Compute.Inputs.PatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    ProvisionVMAgent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    TimeZone string
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    WinRM Pulumi.AzureNative.Compute.Inputs.WinRMConfiguration
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    AdditionalUnattendContent []AdditionalUnattendContent
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    EnableAutomaticUpdates bool
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    PatchSettings PatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    ProvisionVMAgent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    TimeZone string
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    WinRM WinRMConfiguration
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    additionalUnattendContent List<AdditionalUnattendContent>
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    enableAutomaticUpdates Boolean
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    patchSettings PatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    provisionVMAgent Boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    timeZone String
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    winRM WinRMConfiguration
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    additionalUnattendContent AdditionalUnattendContent[]
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    enableAutomaticUpdates boolean
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    patchSettings PatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    provisionVMAgent boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    timeZone string
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    winRM WinRMConfiguration
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    additional_unattend_content Sequence[AdditionalUnattendContent]
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    enable_automatic_updates bool
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    patch_settings PatchSettings
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    provision_vm_agent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    time_zone str
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    win_rm WinRMConfiguration
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    additionalUnattendContent List<Property Map>
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    enableAutomaticUpdates Boolean
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    patchSettings Property Map
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    provisionVMAgent Boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    timeZone String
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    winRM Property Map
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.

    WindowsConfigurationResponse, WindowsConfigurationResponseArgs

    AdditionalUnattendContent List<Pulumi.AzureNative.Compute.Inputs.AdditionalUnattendContentResponse>
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    EnableAutomaticUpdates bool
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    PatchSettings Pulumi.AzureNative.Compute.Inputs.PatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    ProvisionVMAgent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    TimeZone string
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    WinRM Pulumi.AzureNative.Compute.Inputs.WinRMConfigurationResponse
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    AdditionalUnattendContent []AdditionalUnattendContentResponse
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    EnableAutomaticUpdates bool
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    PatchSettings PatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    ProvisionVMAgent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    TimeZone string
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    WinRM WinRMConfigurationResponse
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    additionalUnattendContent List<AdditionalUnattendContentResponse>
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    enableAutomaticUpdates Boolean
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    patchSettings PatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    provisionVMAgent Boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    timeZone String
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    winRM WinRMConfigurationResponse
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    additionalUnattendContent AdditionalUnattendContentResponse[]
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    enableAutomaticUpdates boolean
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    patchSettings PatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    provisionVMAgent boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    timeZone string
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    winRM WinRMConfigurationResponse
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    additional_unattend_content Sequence[AdditionalUnattendContentResponse]
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    enable_automatic_updates bool
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    patch_settings PatchSettingsResponse
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    provision_vm_agent bool
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    time_zone str
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    win_rm WinRMConfigurationResponse
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.
    additionalUnattendContent List<Property Map>
    Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup.
    enableAutomaticUpdates Boolean
    Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true. For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning.
    patchSettings Property Map
    [Preview Feature] Specifies settings related to VM Guest Patching on Windows.
    provisionVMAgent Boolean
    Indicates whether virtual machine agent should be provisioned on the virtual machine. When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later.
    timeZone String
    Specifies the time zone of the virtual machine. e.g. "Pacific Standard Time". Possible values can be TimeZoneInfo.Id value from time zones returned by TimeZoneInfo.GetSystemTimeZones.
    winRM Property Map
    Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell.

    WindowsPatchAssessmentMode, WindowsPatchAssessmentModeArgs

    ImageDefault
    ImageDefault
    AutomaticByPlatform
    AutomaticByPlatform
    WindowsPatchAssessmentModeImageDefault
    ImageDefault
    WindowsPatchAssessmentModeAutomaticByPlatform
    AutomaticByPlatform
    ImageDefault
    ImageDefault
    AutomaticByPlatform
    AutomaticByPlatform
    ImageDefault
    ImageDefault
    AutomaticByPlatform
    AutomaticByPlatform
    IMAGE_DEFAULT
    ImageDefault
    AUTOMATIC_BY_PLATFORM
    AutomaticByPlatform
    "ImageDefault"
    ImageDefault
    "AutomaticByPlatform"
    AutomaticByPlatform

    WindowsVMGuestPatchMode, WindowsVMGuestPatchModeArgs

    Manual
    Manual
    AutomaticByOS
    AutomaticByOS
    AutomaticByPlatform
    AutomaticByPlatform
    WindowsVMGuestPatchModeManual
    Manual
    WindowsVMGuestPatchModeAutomaticByOS
    AutomaticByOS
    WindowsVMGuestPatchModeAutomaticByPlatform
    AutomaticByPlatform
    Manual
    Manual
    AutomaticByOS
    AutomaticByOS
    AutomaticByPlatform
    AutomaticByPlatform
    Manual
    Manual
    AutomaticByOS
    AutomaticByOS
    AutomaticByPlatform
    AutomaticByPlatform
    MANUAL
    Manual
    AUTOMATIC_BY_OS
    AutomaticByOS
    AUTOMATIC_BY_PLATFORM
    AutomaticByPlatform
    "Manual"
    Manual
    "AutomaticByOS"
    AutomaticByOS
    "AutomaticByPlatform"
    AutomaticByPlatform

    Import

    An existing resource can be imported using its type token, name, and identifier, e.g.

    $ pulumi import azure-native:compute:VirtualMachineScaleSet {vmss-name} /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name} 
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    azure-native-v1 pulumi/pulumi-azure-native
    License
    Apache-2.0
    azure-native-v1 logo
    These are the docs for Azure Native v1. We recommenend using the latest version, Azure Native v2.
    Azure Native v1 v1.104.0 published on Thursday, Jul 6, 2023 by Pulumi