azure logo
Azure Classic v5.43.0, May 6 23

azure.compute.ScaleSet

Explore with Pulumi AI

Manages a virtual machine scale set.

Example of storage_profile_image_reference with id

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

const exampleImage = new azure.compute.Image("exampleImage", {});
// ...
const exampleScaleSet = new azure.compute.ScaleSet("exampleScaleSet", {storageProfileImageReference: {
    id: exampleImage.id,
}});
// ...
import pulumi
import pulumi_azure as azure

example_image = azure.compute.Image("exampleImage")
# ...
example_scale_set = azure.compute.ScaleSet("exampleScaleSet", storage_profile_image_reference=azure.compute.ScaleSetStorageProfileImageReferenceArgs(
    id=example_image.id,
))
# ...
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var exampleImage = new Azure.Compute.Image("exampleImage");

    // ...
    var exampleScaleSet = new Azure.Compute.ScaleSet("exampleScaleSet", new()
    {
        StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs
        {
            Id = exampleImage.Id,
        },
    });

    // ...
});
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleImage, err := compute.NewImage(ctx, "exampleImage", nil)
		if err != nil {
			return err
		}
		_, err = compute.NewScaleSet(ctx, "exampleScaleSet", &compute.ScaleSetArgs{
			StorageProfileImageReference: &compute.ScaleSetStorageProfileImageReferenceArgs{
				Id: exampleImage.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.compute.Image;
import com.pulumi.azure.compute.ScaleSet;
import com.pulumi.azure.compute.ScaleSetArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;
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 exampleImage = new Image("exampleImage");

        var exampleScaleSet = new ScaleSet("exampleScaleSet", ScaleSetArgs.builder()        
            .storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()
                .id(exampleImage.id())
                .build())
            .build());

    }
}
resources:
  exampleImage:
    type: azure:compute:Image
  exampleScaleSet:
    type: azure:compute:ScaleSet
    properties:
      storageProfileImageReference:
        id: ${exampleImage.id}

Example Usage

using System.Collections.Generic;
using System.IO;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

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

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

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

    var exampleAccount = new Azure.Storage.Account("exampleAccount", new()
    {
        ResourceGroupName = exampleResourceGroup.Name,
        Location = exampleResourceGroup.Location,
        AccountTier = "Standard",
        AccountReplicationType = "LRS",
        Tags = 
        {
            { "environment", "staging" },
        },
    });

    var exampleContainer = new Azure.Storage.Container("exampleContainer", new()
    {
        StorageAccountName = exampleAccount.Name,
        ContainerAccessType = "private",
    });

    var exampleScaleSet = new Azure.Compute.ScaleSet("exampleScaleSet", new()
    {
        Location = exampleResourceGroup.Location,
        ResourceGroupName = exampleResourceGroup.Name,
        UpgradePolicyMode = "Manual",
        Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs
        {
            Name = "Standard_F2",
            Tier = "Standard",
            Capacity = 2,
        },
        OsProfile = new Azure.Compute.Inputs.ScaleSetOsProfileArgs
        {
            ComputerNamePrefix = "testvm",
            AdminUsername = "myadmin",
        },
        OsProfileLinuxConfig = new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigArgs
        {
            DisablePasswordAuthentication = true,
            SshKeys = new[]
            {
                new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs
                {
                    Path = "/home/myadmin/.ssh/authorized_keys",
                    KeyData = File.ReadAllText("~/.ssh/demo_key.pub"),
                },
            },
        },
        NetworkProfiles = new[]
        {
            new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs
            {
                Name = "TestNetworkProfile",
                Primary = true,
                IpConfigurations = new[]
                {
                    new Azure.Compute.Inputs.ScaleSetNetworkProfileIpConfigurationArgs
                    {
                        Name = "TestIPConfiguration",
                        Primary = true,
                        SubnetId = exampleSubnet.Id,
                    },
                },
            },
        },
        StorageProfileOsDisk = new Azure.Compute.Inputs.ScaleSetStorageProfileOsDiskArgs
        {
            Name = "osDiskProfile",
            Caching = "ReadWrite",
            CreateOption = "FromImage",
            VhdContainers = new[]
            {
                Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =>
                {
                    var primaryBlobEndpoint = values.Item1;
                    var name = values.Item2;
                    return $"{primaryBlobEndpoint}{name}";
                }),
            },
        },
        StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs
        {
            Publisher = "Canonical",
            Offer = "UbuntuServer",
            Sku = "16.04-LTS",
            Version = "latest",
        },
    });

});
package main

import (
	"fmt"
	"os"

	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := os.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
			ResourceGroupName:      exampleResourceGroup.Name,
			Location:               exampleResourceGroup.Location,
			AccountTier:            pulumi.String("Standard"),
			AccountReplicationType: pulumi.String("LRS"),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("staging"),
			},
		})
		if err != nil {
			return err
		}
		exampleContainer, err := storage.NewContainer(ctx, "exampleContainer", &storage.ContainerArgs{
			StorageAccountName:  exampleAccount.Name,
			ContainerAccessType: pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewScaleSet(ctx, "exampleScaleSet", &compute.ScaleSetArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			UpgradePolicyMode: pulumi.String("Manual"),
			Sku: &compute.ScaleSetSkuArgs{
				Name:     pulumi.String("Standard_F2"),
				Tier:     pulumi.String("Standard"),
				Capacity: pulumi.Int(2),
			},
			OsProfile: &compute.ScaleSetOsProfileArgs{
				ComputerNamePrefix: pulumi.String("testvm"),
				AdminUsername:      pulumi.String("myadmin"),
			},
			OsProfileLinuxConfig: &compute.ScaleSetOsProfileLinuxConfigArgs{
				DisablePasswordAuthentication: pulumi.Bool(true),
				SshKeys: compute.ScaleSetOsProfileLinuxConfigSshKeyArray{
					&compute.ScaleSetOsProfileLinuxConfigSshKeyArgs{
						Path:    pulumi.String("/home/myadmin/.ssh/authorized_keys"),
						KeyData: readFileOrPanic("~/.ssh/demo_key.pub"),
					},
				},
			},
			NetworkProfiles: compute.ScaleSetNetworkProfileArray{
				&compute.ScaleSetNetworkProfileArgs{
					Name:    pulumi.String("TestNetworkProfile"),
					Primary: pulumi.Bool(true),
					IpConfigurations: compute.ScaleSetNetworkProfileIpConfigurationArray{
						&compute.ScaleSetNetworkProfileIpConfigurationArgs{
							Name:     pulumi.String("TestIPConfiguration"),
							Primary:  pulumi.Bool(true),
							SubnetId: exampleSubnet.ID(),
						},
					},
				},
			},
			StorageProfileOsDisk: &compute.ScaleSetStorageProfileOsDiskArgs{
				Name:         pulumi.String("osDiskProfile"),
				Caching:      pulumi.String("ReadWrite"),
				CreateOption: pulumi.String("FromImage"),
				VhdContainers: pulumi.StringArray{
					pulumi.All(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).ApplyT(func(_args []interface{}) (string, error) {
						primaryBlobEndpoint := _args[0].(string)
						name := _args[1].(string)
						return fmt.Sprintf("%v%v", primaryBlobEndpoint, name), nil
					}).(pulumi.StringOutput),
				},
			},
			StorageProfileImageReference: &compute.ScaleSetStorageProfileImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("UbuntuServer"),
				Sku:       pulumi.String("16.04-LTS"),
				Version:   pulumi.String("latest"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.PublicIp;
import com.pulumi.azure.network.PublicIpArgs;
import com.pulumi.azure.lb.LoadBalancer;
import com.pulumi.azure.lb.LoadBalancerArgs;
import com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;
import com.pulumi.azure.lb.BackendAddressPool;
import com.pulumi.azure.lb.BackendAddressPoolArgs;
import com.pulumi.azure.lb.NatPool;
import com.pulumi.azure.lb.NatPoolArgs;
import com.pulumi.azure.lb.Probe;
import com.pulumi.azure.lb.ProbeArgs;
import com.pulumi.azure.compute.ScaleSet;
import com.pulumi.azure.compute.ScaleSetArgs;
import com.pulumi.azure.compute.inputs.ScaleSetRollingUpgradePolicyArgs;
import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileOsDiskArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileDataDiskArgs;
import com.pulumi.azure.compute.inputs.ScaleSetOsProfileArgs;
import com.pulumi.azure.compute.inputs.ScaleSetOsProfileLinuxConfigArgs;
import com.pulumi.azure.compute.inputs.ScaleSetNetworkProfileArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
            .location("West Europe")
            .build());

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

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

        var examplePublicIp = new PublicIp("examplePublicIp", PublicIpArgs.builder()        
            .location(exampleResourceGroup.location())
            .resourceGroupName(exampleResourceGroup.name())
            .allocationMethod("Static")
            .domainNameLabel(exampleResourceGroup.name())
            .tags(Map.of("environment", "staging"))
            .build());

        var exampleLoadBalancer = new LoadBalancer("exampleLoadBalancer", LoadBalancerArgs.builder()        
            .location(exampleResourceGroup.location())
            .resourceGroupName(exampleResourceGroup.name())
            .frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()
                .name("PublicIPAddress")
                .publicIpAddressId(examplePublicIp.id())
                .build())
            .build());

        var bpepool = new BackendAddressPool("bpepool", BackendAddressPoolArgs.builder()        
            .resourceGroupName(exampleResourceGroup.name())
            .loadbalancerId(exampleLoadBalancer.id())
            .build());

        var lbnatpool = new NatPool("lbnatpool", NatPoolArgs.builder()        
            .resourceGroupName(exampleResourceGroup.name())
            .loadbalancerId(exampleLoadBalancer.id())
            .protocol("Tcp")
            .frontendPortStart(50000)
            .frontendPortEnd(50119)
            .backendPort(22)
            .frontendIpConfigurationName("PublicIPAddress")
            .build());

        var exampleProbe = new Probe("exampleProbe", ProbeArgs.builder()        
            .resourceGroupName(exampleResourceGroup.name())
            .loadbalancerId(exampleLoadBalancer.id())
            .protocol("Http")
            .requestPath("/health")
            .port(8080)
            .build());

        var exampleScaleSet = new ScaleSet("exampleScaleSet", ScaleSetArgs.builder()        
            .location(exampleResourceGroup.location())
            .resourceGroupName(exampleResourceGroup.name())
            .automaticOsUpgrade(true)
            .upgradePolicyMode("Rolling")
            .rollingUpgradePolicy(ScaleSetRollingUpgradePolicyArgs.builder()
                .maxBatchInstancePercent(20)
                .maxUnhealthyInstancePercent(20)
                .maxUnhealthyUpgradedInstancePercent(5)
                .pauseTimeBetweenBatches("PT0S")
                .build())
            .healthProbeId(exampleProbe.id())
            .sku(ScaleSetSkuArgs.builder()
                .name("Standard_F2")
                .tier("Standard")
                .capacity(2)
                .build())
            .storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()
                .publisher("Canonical")
                .offer("UbuntuServer")
                .sku("16.04-LTS")
                .version("latest")
                .build())
            .storageProfileOsDisk(ScaleSetStorageProfileOsDiskArgs.builder()
                .name("")
                .caching("ReadWrite")
                .createOption("FromImage")
                .managedDiskType("Standard_LRS")
                .build())
            .storageProfileDataDisks(ScaleSetStorageProfileDataDiskArgs.builder()
                .lun(0)
                .caching("ReadWrite")
                .createOption("Empty")
                .diskSizeGb(10)
                .build())
            .osProfile(ScaleSetOsProfileArgs.builder()
                .computerNamePrefix("testvm")
                .adminUsername("myadmin")
                .build())
            .osProfileLinuxConfig(ScaleSetOsProfileLinuxConfigArgs.builder()
                .disablePasswordAuthentication(true)
                .sshKeys(ScaleSetOsProfileLinuxConfigSshKeyArgs.builder()
                    .path("/home/myadmin/.ssh/authorized_keys")
                    .keyData(Files.readString(Paths.get("~/.ssh/demo_key.pub")))
                    .build())
                .build())
            .networkProfiles(ScaleSetNetworkProfileArgs.builder()
                .name("mynetworkprofile")
                .primary(true)
                .ipConfigurations(ScaleSetNetworkProfileIpConfigurationArgs.builder()
                    .name("TestIPConfiguration")
                    .primary(true)
                    .subnetId(exampleSubnet.id())
                    .loadBalancerBackendAddressPoolIds(bpepool.id())
                    .loadBalancerInboundNatRulesIds(lbnatpool.id())
                    .build())
                .build())
            .tags(Map.of("environment", "staging"))
            .build());

    }
}
import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("exampleVirtualNetwork",
    address_spaces=["10.0.0.0/16"],
    location=example_resource_group.location,
    resource_group_name=example_resource_group.name)
example_subnet = azure.network.Subnet("exampleSubnet",
    resource_group_name=example_resource_group.name,
    virtual_network_name=example_virtual_network.name,
    address_prefixes=["10.0.2.0/24"])
example_account = azure.storage.Account("exampleAccount",
    resource_group_name=example_resource_group.name,
    location=example_resource_group.location,
    account_tier="Standard",
    account_replication_type="LRS",
    tags={
        "environment": "staging",
    })
example_container = azure.storage.Container("exampleContainer",
    storage_account_name=example_account.name,
    container_access_type="private")
example_scale_set = azure.compute.ScaleSet("exampleScaleSet",
    location=example_resource_group.location,
    resource_group_name=example_resource_group.name,
    upgrade_policy_mode="Manual",
    sku=azure.compute.ScaleSetSkuArgs(
        name="Standard_F2",
        tier="Standard",
        capacity=2,
    ),
    os_profile=azure.compute.ScaleSetOsProfileArgs(
        computer_name_prefix="testvm",
        admin_username="myadmin",
    ),
    os_profile_linux_config=azure.compute.ScaleSetOsProfileLinuxConfigArgs(
        disable_password_authentication=True,
        ssh_keys=[azure.compute.ScaleSetOsProfileLinuxConfigSshKeyArgs(
            path="/home/myadmin/.ssh/authorized_keys",
            key_data=(lambda path: open(path).read())("~/.ssh/demo_key.pub"),
        )],
    ),
    network_profiles=[azure.compute.ScaleSetNetworkProfileArgs(
        name="TestNetworkProfile",
        primary=True,
        ip_configurations=[azure.compute.ScaleSetNetworkProfileIpConfigurationArgs(
            name="TestIPConfiguration",
            primary=True,
            subnet_id=example_subnet.id,
        )],
    )],
    storage_profile_os_disk=azure.compute.ScaleSetStorageProfileOsDiskArgs(
        name="osDiskProfile",
        caching="ReadWrite",
        create_option="FromImage",
        vhd_containers=[pulumi.Output.all(example_account.primary_blob_endpoint, example_container.name).apply(lambda primary_blob_endpoint, name: f"{primary_blob_endpoint}{name}")],
    ),
    storage_profile_image_reference=azure.compute.ScaleSetStorageProfileImageReferenceArgs(
        publisher="Canonical",
        offer="UbuntuServer",
        sku="16.04-LTS",
        version="latest",
    ))
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as fs from "fs";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefixes: ["10.0.2.0/24"],
});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
    tags: {
        environment: "staging",
    },
});
const exampleContainer = new azure.storage.Container("exampleContainer", {
    storageAccountName: exampleAccount.name,
    containerAccessType: "private",
});
const exampleScaleSet = new azure.compute.ScaleSet("exampleScaleSet", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    upgradePolicyMode: "Manual",
    sku: {
        name: "Standard_F2",
        tier: "Standard",
        capacity: 2,
    },
    osProfile: {
        computerNamePrefix: "testvm",
        adminUsername: "myadmin",
    },
    osProfileLinuxConfig: {
        disablePasswordAuthentication: true,
        sshKeys: [{
            path: "/home/myadmin/.ssh/authorized_keys",
            keyData: fs.readFileSync("~/.ssh/demo_key.pub"),
        }],
    },
    networkProfiles: [{
        name: "TestNetworkProfile",
        primary: true,
        ipConfigurations: [{
            name: "TestIPConfiguration",
            primary: true,
            subnetId: exampleSubnet.id,
        }],
    }],
    storageProfileOsDisk: {
        name: "osDiskProfile",
        caching: "ReadWrite",
        createOption: "FromImage",
        vhdContainers: [pulumi.interpolate`${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}`],
    },
    storageProfileImageReference: {
        publisher: "Canonical",
        offer: "UbuntuServer",
        sku: "16.04-LTS",
        version: "latest",
    },
});
resources:
  exampleResourceGroup:
    type: azure:core:ResourceGroup
    properties:
      location: West Europe
  exampleVirtualNetwork:
    type: azure:network:VirtualNetwork
    properties:
      addressSpaces:
        - 10.0.0.0/16
      location: ${exampleResourceGroup.location}
      resourceGroupName: ${exampleResourceGroup.name}
  exampleSubnet:
    type: azure:network:Subnet
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      virtualNetworkName: ${exampleVirtualNetwork.name}
      addressPrefixes:
        - 10.0.2.0/24
  examplePublicIp:
    type: azure:network:PublicIp
    properties:
      location: ${exampleResourceGroup.location}
      resourceGroupName: ${exampleResourceGroup.name}
      allocationMethod: Static
      domainNameLabel: ${exampleResourceGroup.name}
      tags:
        environment: staging
  exampleLoadBalancer:
    type: azure:lb:LoadBalancer
    properties:
      location: ${exampleResourceGroup.location}
      resourceGroupName: ${exampleResourceGroup.name}
      frontendIpConfigurations:
        - name: PublicIPAddress
          publicIpAddressId: ${examplePublicIp.id}
  bpepool:
    type: azure:lb:BackendAddressPool
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      loadbalancerId: ${exampleLoadBalancer.id}
  lbnatpool:
    type: azure:lb:NatPool
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      loadbalancerId: ${exampleLoadBalancer.id}
      protocol: Tcp
      frontendPortStart: 50000
      frontendPortEnd: 50119
      backendPort: 22
      frontendIpConfigurationName: PublicIPAddress
  exampleProbe:
    type: azure:lb:Probe
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      loadbalancerId: ${exampleLoadBalancer.id}
      protocol: Http
      requestPath: /health
      port: 8080
  exampleScaleSet:
    type: azure:compute:ScaleSet
    properties:
      location: ${exampleResourceGroup.location}
      resourceGroupName: ${exampleResourceGroup.name}
      # automatic rolling upgrade
      automaticOsUpgrade: true
      upgradePolicyMode: Rolling
      rollingUpgradePolicy:
        maxBatchInstancePercent: 20
        maxUnhealthyInstancePercent: 20
        maxUnhealthyUpgradedInstancePercent: 5
        pauseTimeBetweenBatches: PT0S
      # required when using rolling upgrade policy
      healthProbeId: ${exampleProbe.id}
      sku:
        name: Standard_F2
        tier: Standard
        capacity: 2
      storageProfileImageReference:
        publisher: Canonical
        offer: UbuntuServer
        sku: 16.04-LTS
        version: latest
      storageProfileOsDisk:
        name:
        caching: ReadWrite
        createOption: FromImage
        managedDiskType: Standard_LRS
      storageProfileDataDisks:
        - lun: 0
          caching: ReadWrite
          createOption: Empty
          diskSizeGb: 10
      osProfile:
        computerNamePrefix: testvm
        adminUsername: myadmin
      osProfileLinuxConfig:
        disablePasswordAuthentication: true
        sshKeys:
          - path: /home/myadmin/.ssh/authorized_keys
            keyData:
              fn::readFile: ~/.ssh/demo_key.pub
      networkProfiles:
        - name: mynetworkprofile
          primary: true
          ipConfigurations:
            - name: TestIPConfiguration
              primary: true
              subnetId: ${exampleSubnet.id}
              loadBalancerBackendAddressPoolIds:
                - ${bpepool.id}
              loadBalancerInboundNatRulesIds:
                - ${lbnatpool.id}
      tags:
        environment: staging

With Unmanaged Disks

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var exampleImage = new Azure.Compute.Image("exampleImage");

    // ...
    var exampleScaleSet = new Azure.Compute.ScaleSet("exampleScaleSet", new()
    {
        StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs
        {
            Id = exampleImage.Id,
        },
    });

    // ...
});
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleImage, err := compute.NewImage(ctx, "exampleImage", nil)
		if err != nil {
			return err
		}
		_, err = compute.NewScaleSet(ctx, "exampleScaleSet", &compute.ScaleSetArgs{
			StorageProfileImageReference: &compute.ScaleSetStorageProfileImageReferenceArgs{
				Id: exampleImage.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.storage.Container;
import com.pulumi.azure.storage.ContainerArgs;
import com.pulumi.azure.compute.ScaleSet;
import com.pulumi.azure.compute.ScaleSetArgs;
import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs;
import com.pulumi.azure.compute.inputs.ScaleSetOsProfileArgs;
import com.pulumi.azure.compute.inputs.ScaleSetOsProfileLinuxConfigArgs;
import com.pulumi.azure.compute.inputs.ScaleSetNetworkProfileArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileOsDiskArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
            .location("West Europe")
            .build());

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

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

        var exampleAccount = new Account("exampleAccount", AccountArgs.builder()        
            .resourceGroupName(exampleResourceGroup.name())
            .location(exampleResourceGroup.location())
            .accountTier("Standard")
            .accountReplicationType("LRS")
            .tags(Map.of("environment", "staging"))
            .build());

        var exampleContainer = new Container("exampleContainer", ContainerArgs.builder()        
            .storageAccountName(exampleAccount.name())
            .containerAccessType("private")
            .build());

        var exampleScaleSet = new ScaleSet("exampleScaleSet", ScaleSetArgs.builder()        
            .location(exampleResourceGroup.location())
            .resourceGroupName(exampleResourceGroup.name())
            .upgradePolicyMode("Manual")
            .sku(ScaleSetSkuArgs.builder()
                .name("Standard_F2")
                .tier("Standard")
                .capacity(2)
                .build())
            .osProfile(ScaleSetOsProfileArgs.builder()
                .computerNamePrefix("testvm")
                .adminUsername("myadmin")
                .build())
            .osProfileLinuxConfig(ScaleSetOsProfileLinuxConfigArgs.builder()
                .disablePasswordAuthentication(true)
                .sshKeys(ScaleSetOsProfileLinuxConfigSshKeyArgs.builder()
                    .path("/home/myadmin/.ssh/authorized_keys")
                    .keyData(Files.readString(Paths.get("~/.ssh/demo_key.pub")))
                    .build())
                .build())
            .networkProfiles(ScaleSetNetworkProfileArgs.builder()
                .name("TestNetworkProfile")
                .primary(true)
                .ipConfigurations(ScaleSetNetworkProfileIpConfigurationArgs.builder()
                    .name("TestIPConfiguration")
                    .primary(true)
                    .subnetId(exampleSubnet.id())
                    .build())
                .build())
            .storageProfileOsDisk(ScaleSetStorageProfileOsDiskArgs.builder()
                .name("osDiskProfile")
                .caching("ReadWrite")
                .createOption("FromImage")
                .vhdContainers(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -> {
                    var primaryBlobEndpoint = values.t1;
                    var name = values.t2;
                    return String.format("%s%s", primaryBlobEndpoint,name);
                }))
                .build())
            .storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()
                .publisher("Canonical")
                .offer("UbuntuServer")
                .sku("16.04-LTS")
                .version("latest")
                .build())
            .build());

    }
}
import pulumi
import pulumi_azure as azure

example_image = azure.compute.Image("exampleImage")
# ...
example_scale_set = azure.compute.ScaleSet("exampleScaleSet", storage_profile_image_reference=azure.compute.ScaleSetStorageProfileImageReferenceArgs(
    id=example_image.id,
))
# ...
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleImage = new azure.compute.Image("exampleImage", {});
// ...
const exampleScaleSet = new azure.compute.ScaleSet("exampleScaleSet", {storageProfileImageReference: {
    id: exampleImage.id,
}});
// ...
resources:
  exampleResourceGroup:
    type: azure:core:ResourceGroup
    properties:
      location: West Europe
  exampleVirtualNetwork:
    type: azure:network:VirtualNetwork
    properties:
      addressSpaces:
        - 10.0.0.0/16
      location: ${exampleResourceGroup.location}
      resourceGroupName: ${exampleResourceGroup.name}
  exampleSubnet:
    type: azure:network:Subnet
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      virtualNetworkName: ${exampleVirtualNetwork.name}
      addressPrefixes:
        - 10.0.2.0/24
  exampleAccount:
    type: azure:storage:Account
    properties:
      resourceGroupName: ${exampleResourceGroup.name}
      location: ${exampleResourceGroup.location}
      accountTier: Standard
      accountReplicationType: LRS
      tags:
        environment: staging
  exampleContainer:
    type: azure:storage:Container
    properties:
      storageAccountName: ${exampleAccount.name}
      containerAccessType: private
  exampleScaleSet:
    type: azure:compute:ScaleSet
    properties:
      location: ${exampleResourceGroup.location}
      resourceGroupName: ${exampleResourceGroup.name}
      upgradePolicyMode: Manual
      sku:
        name: Standard_F2
        tier: Standard
        capacity: 2
      osProfile:
        computerNamePrefix: testvm
        adminUsername: myadmin
      osProfileLinuxConfig:
        disablePasswordAuthentication: true
        sshKeys:
          - path: /home/myadmin/.ssh/authorized_keys
            keyData:
              fn::readFile: ~/.ssh/demo_key.pub
      networkProfiles:
        - name: TestNetworkProfile
          primary: true
          ipConfigurations:
            - name: TestIPConfiguration
              primary: true
              subnetId: ${exampleSubnet.id}
      storageProfileOsDisk:
        name: osDiskProfile
        caching: ReadWrite
        createOption: FromImage
        vhdContainers:
          - ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}
      storageProfileImageReference:
        publisher: Canonical
        offer: UbuntuServer
        sku: 16.04-LTS
        version: latest

Coming soon!

Coming soon!

package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.compute.Image;
import com.pulumi.azure.compute.ScaleSet;
import com.pulumi.azure.compute.ScaleSetArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;
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 exampleImage = new Image("exampleImage");

        var exampleScaleSet = new ScaleSet("exampleScaleSet", ScaleSetArgs.builder()        
            .storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()
                .id(exampleImage.id())
                .build())
            .build());

    }
}

Coming soon!

Coming soon!

resources:
  exampleImage:
    type: azure:compute:Image
  exampleScaleSet:
    type: azure:compute:ScaleSet
    properties:
      storageProfileImageReference:
        id: ${exampleImage.id}

Create ScaleSet Resource

new ScaleSet(name: string, args: ScaleSetArgs, opts?: CustomResourceOptions);
@overload
def ScaleSet(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             automatic_os_upgrade: Optional[bool] = None,
             boot_diagnostics: Optional[ScaleSetBootDiagnosticsArgs] = None,
             eviction_policy: Optional[str] = None,
             extensions: Optional[Sequence[ScaleSetExtensionArgs]] = None,
             health_probe_id: Optional[str] = None,
             identity: Optional[ScaleSetIdentityArgs] = None,
             license_type: Optional[str] = None,
             location: Optional[str] = None,
             name: Optional[str] = None,
             network_profiles: Optional[Sequence[ScaleSetNetworkProfileArgs]] = None,
             os_profile: Optional[ScaleSetOsProfileArgs] = None,
             os_profile_linux_config: Optional[ScaleSetOsProfileLinuxConfigArgs] = None,
             os_profile_secrets: Optional[Sequence[ScaleSetOsProfileSecretArgs]] = None,
             os_profile_windows_config: Optional[ScaleSetOsProfileWindowsConfigArgs] = None,
             overprovision: Optional[bool] = None,
             plan: Optional[ScaleSetPlanArgs] = None,
             priority: Optional[str] = None,
             proximity_placement_group_id: Optional[str] = None,
             resource_group_name: Optional[str] = None,
             rolling_upgrade_policy: Optional[ScaleSetRollingUpgradePolicyArgs] = None,
             single_placement_group: Optional[bool] = None,
             sku: Optional[ScaleSetSkuArgs] = None,
             storage_profile_data_disks: Optional[Sequence[ScaleSetStorageProfileDataDiskArgs]] = None,
             storage_profile_image_reference: Optional[ScaleSetStorageProfileImageReferenceArgs] = None,
             storage_profile_os_disk: Optional[ScaleSetStorageProfileOsDiskArgs] = None,
             tags: Optional[Mapping[str, str]] = None,
             upgrade_policy_mode: Optional[str] = None,
             zones: Optional[Sequence[str]] = None)
@overload
def ScaleSet(resource_name: str,
             args: ScaleSetArgs,
             opts: Optional[ResourceOptions] = None)
func NewScaleSet(ctx *Context, name string, args ScaleSetArgs, opts ...ResourceOption) (*ScaleSet, error)
public ScaleSet(string name, ScaleSetArgs args, CustomResourceOptions? opts = null)
public ScaleSet(String name, ScaleSetArgs args)
public ScaleSet(String name, ScaleSetArgs args, CustomResourceOptions options)
type: azure:compute:ScaleSet
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ScaleSetArgs
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 ScaleSetArgs
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 ScaleSetArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ScaleSetArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ScaleSetArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

ScaleSet Resource Properties

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

Inputs

The ScaleSet resource accepts the following input properties:

NetworkProfiles List<ScaleSetNetworkProfileArgs>

A collection of network profile block as documented below.

OsProfile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

ResourceGroupName string

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

Sku ScaleSetSkuArgs

A SKU block as documented below.

StorageProfileOsDisk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

UpgradePolicyMode string

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

AutomaticOsUpgrade bool

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

BootDiagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

EvictionPolicy string

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

Extensions List<ScaleSetExtensionArgs>

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

HealthProbeId string

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

Identity ScaleSetIdentityArgs

An identity block as defined below.

LicenseType string

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

Location string

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

Name string

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

OsProfileLinuxConfig ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

OsProfileSecrets List<ScaleSetOsProfileSecretArgs>

A collection of Secret blocks as documented below.

OsProfileWindowsConfig ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

Overprovision bool

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

Plan ScaleSetPlanArgs

A plan block as documented below.

Priority string

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

ProximityPlacementGroupId string

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

RollingUpgradePolicy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

SinglePlacementGroup bool

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

StorageProfileDataDisks List<ScaleSetStorageProfileDataDiskArgs>

A storage profile data disk block as documented below

StorageProfileImageReference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

Tags Dictionary<string, string>

A mapping of tags to assign to the resource.

Zones List<string>

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

NetworkProfiles []ScaleSetNetworkProfileArgs

A collection of network profile block as documented below.

OsProfile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

ResourceGroupName string

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

Sku ScaleSetSkuArgs

A SKU block as documented below.

StorageProfileOsDisk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

UpgradePolicyMode string

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

AutomaticOsUpgrade bool

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

BootDiagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

EvictionPolicy string

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

Extensions []ScaleSetExtensionArgs

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

HealthProbeId string

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

Identity ScaleSetIdentityArgs

An identity block as defined below.

LicenseType string

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

Location string

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

Name string

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

OsProfileLinuxConfig ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

OsProfileSecrets []ScaleSetOsProfileSecretArgs

A collection of Secret blocks as documented below.

OsProfileWindowsConfig ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

Overprovision bool

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

Plan ScaleSetPlanArgs

A plan block as documented below.

Priority string

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

ProximityPlacementGroupId string

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

RollingUpgradePolicy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

SinglePlacementGroup bool

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

StorageProfileDataDisks []ScaleSetStorageProfileDataDiskArgs

A storage profile data disk block as documented below

StorageProfileImageReference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

Tags map[string]string

A mapping of tags to assign to the resource.

Zones []string

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

networkProfiles List<ScaleSetNetworkProfileArgs>

A collection of network profile block as documented below.

osProfile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

resourceGroupName String

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

sku ScaleSetSkuArgs

A SKU block as documented below.

storageProfileOsDisk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

upgradePolicyMode String

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

automaticOsUpgrade Boolean

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

bootDiagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

evictionPolicy String

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

extensions List<ScaleSetExtensionArgs>

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

healthProbeId String

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

identity ScaleSetIdentityArgs

An identity block as defined below.

licenseType String

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

location String

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name String

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

osProfileLinuxConfig ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

osProfileSecrets List<ScaleSetOsProfileSecretArgs>

A collection of Secret blocks as documented below.

osProfileWindowsConfig ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

overprovision Boolean

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

plan ScaleSetPlanArgs

A plan block as documented below.

priority String

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

proximityPlacementGroupId String

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

rollingUpgradePolicy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

singlePlacementGroup Boolean

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

storageProfileDataDisks List<ScaleSetStorageProfileDataDiskArgs>

A storage profile data disk block as documented below

storageProfileImageReference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

tags Map<String,String>

A mapping of tags to assign to the resource.

zones List<String>

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

networkProfiles ScaleSetNetworkProfileArgs[]

A collection of network profile block as documented below.

osProfile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

resourceGroupName string

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

sku ScaleSetSkuArgs

A SKU block as documented below.

storageProfileOsDisk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

upgradePolicyMode string

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

automaticOsUpgrade boolean

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

bootDiagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

evictionPolicy string

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

extensions ScaleSetExtensionArgs[]

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

healthProbeId string

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

identity ScaleSetIdentityArgs

An identity block as defined below.

licenseType string

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

location string

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name string

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

osProfileLinuxConfig ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

osProfileSecrets ScaleSetOsProfileSecretArgs[]

A collection of Secret blocks as documented below.

osProfileWindowsConfig ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

overprovision boolean

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

plan ScaleSetPlanArgs

A plan block as documented below.

priority string

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

proximityPlacementGroupId string

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

rollingUpgradePolicy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

singlePlacementGroup boolean

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

storageProfileDataDisks ScaleSetStorageProfileDataDiskArgs[]

A storage profile data disk block as documented below

storageProfileImageReference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

tags {[key: string]: string}

A mapping of tags to assign to the resource.

zones string[]

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

network_profiles Sequence[ScaleSetNetworkProfileArgs]

A collection of network profile block as documented below.

os_profile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

resource_group_name str

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

sku ScaleSetSkuArgs

A SKU block as documented below.

storage_profile_os_disk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

upgrade_policy_mode str

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

automatic_os_upgrade bool

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

boot_diagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

eviction_policy str

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

extensions Sequence[ScaleSetExtensionArgs]

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

health_probe_id str

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

identity ScaleSetIdentityArgs

An identity block as defined below.

license_type str

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

location str

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name str

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

os_profile_linux_config ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

os_profile_secrets Sequence[ScaleSetOsProfileSecretArgs]

A collection of Secret blocks as documented below.

os_profile_windows_config ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

overprovision bool

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

plan ScaleSetPlanArgs

A plan block as documented below.

priority str

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

proximity_placement_group_id str

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

rolling_upgrade_policy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

single_placement_group bool

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

storage_profile_data_disks Sequence[ScaleSetStorageProfileDataDiskArgs]

A storage profile data disk block as documented below

storage_profile_image_reference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

tags Mapping[str, str]

A mapping of tags to assign to the resource.

zones Sequence[str]

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

networkProfiles List<Property Map>

A collection of network profile block as documented below.

osProfile Property Map

A Virtual Machine OS Profile block as documented below.

resourceGroupName String

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

sku Property Map

A SKU block as documented below.

storageProfileOsDisk Property Map

A storage profile os disk block as documented below

upgradePolicyMode String

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

automaticOsUpgrade Boolean

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

bootDiagnostics Property Map

A boot diagnostics profile block as referenced below.

evictionPolicy String

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

extensions List<Property Map>

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

healthProbeId String

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

identity Property Map

An identity block as defined below.

licenseType String

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

location String

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name String

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

osProfileLinuxConfig Property Map

A Linux config block as documented below.

osProfileSecrets List<Property Map>

A collection of Secret blocks as documented below.

osProfileWindowsConfig Property Map

A Windows config block as documented below.

overprovision Boolean

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

plan Property Map

A plan block as documented below.

priority String

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

proximityPlacementGroupId String

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

rollingUpgradePolicy Property Map

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

singlePlacementGroup Boolean

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

storageProfileDataDisks List<Property Map>

A storage profile data disk block as documented below

storageProfileImageReference Property Map

A storage profile image reference block as documented below.

tags Map<String>

A mapping of tags to assign to the resource.

zones List<String>

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

Outputs

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

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing ScaleSet Resource

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

public static get(name: string, id: Input<ID>, state?: ScaleSetState, opts?: CustomResourceOptions): ScaleSet
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        automatic_os_upgrade: Optional[bool] = None,
        boot_diagnostics: Optional[ScaleSetBootDiagnosticsArgs] = None,
        eviction_policy: Optional[str] = None,
        extensions: Optional[Sequence[ScaleSetExtensionArgs]] = None,
        health_probe_id: Optional[str] = None,
        identity: Optional[ScaleSetIdentityArgs] = None,
        license_type: Optional[str] = None,
        location: Optional[str] = None,
        name: Optional[str] = None,
        network_profiles: Optional[Sequence[ScaleSetNetworkProfileArgs]] = None,
        os_profile: Optional[ScaleSetOsProfileArgs] = None,
        os_profile_linux_config: Optional[ScaleSetOsProfileLinuxConfigArgs] = None,
        os_profile_secrets: Optional[Sequence[ScaleSetOsProfileSecretArgs]] = None,
        os_profile_windows_config: Optional[ScaleSetOsProfileWindowsConfigArgs] = None,
        overprovision: Optional[bool] = None,
        plan: Optional[ScaleSetPlanArgs] = None,
        priority: Optional[str] = None,
        proximity_placement_group_id: Optional[str] = None,
        resource_group_name: Optional[str] = None,
        rolling_upgrade_policy: Optional[ScaleSetRollingUpgradePolicyArgs] = None,
        single_placement_group: Optional[bool] = None,
        sku: Optional[ScaleSetSkuArgs] = None,
        storage_profile_data_disks: Optional[Sequence[ScaleSetStorageProfileDataDiskArgs]] = None,
        storage_profile_image_reference: Optional[ScaleSetStorageProfileImageReferenceArgs] = None,
        storage_profile_os_disk: Optional[ScaleSetStorageProfileOsDiskArgs] = None,
        tags: Optional[Mapping[str, str]] = None,
        upgrade_policy_mode: Optional[str] = None,
        zones: Optional[Sequence[str]] = None) -> ScaleSet
func GetScaleSet(ctx *Context, name string, id IDInput, state *ScaleSetState, opts ...ResourceOption) (*ScaleSet, error)
public static ScaleSet Get(string name, Input<string> id, ScaleSetState? state, CustomResourceOptions? opts = null)
public static ScaleSet get(String name, Output<String> id, ScaleSetState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AutomaticOsUpgrade bool

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

BootDiagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

EvictionPolicy string

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

Extensions List<ScaleSetExtensionArgs>

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

HealthProbeId string

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

Identity ScaleSetIdentityArgs

An identity block as defined below.

LicenseType string

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

Location string

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

Name string

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

NetworkProfiles List<ScaleSetNetworkProfileArgs>

A collection of network profile block as documented below.

OsProfile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

OsProfileLinuxConfig ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

OsProfileSecrets List<ScaleSetOsProfileSecretArgs>

A collection of Secret blocks as documented below.

OsProfileWindowsConfig ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

Overprovision bool

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

Plan ScaleSetPlanArgs

A plan block as documented below.

Priority string

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

ProximityPlacementGroupId string

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

ResourceGroupName string

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

RollingUpgradePolicy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

SinglePlacementGroup bool

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

Sku ScaleSetSkuArgs

A SKU block as documented below.

StorageProfileDataDisks List<ScaleSetStorageProfileDataDiskArgs>

A storage profile data disk block as documented below

StorageProfileImageReference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

StorageProfileOsDisk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

Tags Dictionary<string, string>

A mapping of tags to assign to the resource.

UpgradePolicyMode string

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

Zones List<string>

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

AutomaticOsUpgrade bool

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

BootDiagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

EvictionPolicy string

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

Extensions []ScaleSetExtensionArgs

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

HealthProbeId string

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

Identity ScaleSetIdentityArgs

An identity block as defined below.

LicenseType string

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

Location string

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

Name string

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

NetworkProfiles []ScaleSetNetworkProfileArgs

A collection of network profile block as documented below.

OsProfile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

OsProfileLinuxConfig ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

OsProfileSecrets []ScaleSetOsProfileSecretArgs

A collection of Secret blocks as documented below.

OsProfileWindowsConfig ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

Overprovision bool

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

Plan ScaleSetPlanArgs

A plan block as documented below.

Priority string

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

ProximityPlacementGroupId string

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

ResourceGroupName string

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

RollingUpgradePolicy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

SinglePlacementGroup bool

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

Sku ScaleSetSkuArgs

A SKU block as documented below.

StorageProfileDataDisks []ScaleSetStorageProfileDataDiskArgs

A storage profile data disk block as documented below

StorageProfileImageReference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

StorageProfileOsDisk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

Tags map[string]string

A mapping of tags to assign to the resource.

UpgradePolicyMode string

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

Zones []string

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

automaticOsUpgrade Boolean

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

bootDiagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

evictionPolicy String

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

extensions List<ScaleSetExtensionArgs>

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

healthProbeId String

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

identity ScaleSetIdentityArgs

An identity block as defined below.

licenseType String

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

location String

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name String

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

networkProfiles List<ScaleSetNetworkProfileArgs>

A collection of network profile block as documented below.

osProfile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

osProfileLinuxConfig ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

osProfileSecrets List<ScaleSetOsProfileSecretArgs>

A collection of Secret blocks as documented below.

osProfileWindowsConfig ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

overprovision Boolean

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

plan ScaleSetPlanArgs

A plan block as documented below.

priority String

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

proximityPlacementGroupId String

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

resourceGroupName String

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

rollingUpgradePolicy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

singlePlacementGroup Boolean

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

sku ScaleSetSkuArgs

A SKU block as documented below.

storageProfileDataDisks List<ScaleSetStorageProfileDataDiskArgs>

A storage profile data disk block as documented below

storageProfileImageReference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

storageProfileOsDisk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

tags Map<String,String>

A mapping of tags to assign to the resource.

upgradePolicyMode String

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

zones List<String>

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

automaticOsUpgrade boolean

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

bootDiagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

evictionPolicy string

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

extensions ScaleSetExtensionArgs[]

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

healthProbeId string

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

identity ScaleSetIdentityArgs

An identity block as defined below.

licenseType string

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

location string

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name string

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

networkProfiles ScaleSetNetworkProfileArgs[]

A collection of network profile block as documented below.

osProfile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

osProfileLinuxConfig ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

osProfileSecrets ScaleSetOsProfileSecretArgs[]

A collection of Secret blocks as documented below.

osProfileWindowsConfig ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

overprovision boolean

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

plan ScaleSetPlanArgs

A plan block as documented below.

priority string

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

proximityPlacementGroupId string

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

resourceGroupName string

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

rollingUpgradePolicy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

singlePlacementGroup boolean

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

sku ScaleSetSkuArgs

A SKU block as documented below.

storageProfileDataDisks ScaleSetStorageProfileDataDiskArgs[]

A storage profile data disk block as documented below

storageProfileImageReference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

storageProfileOsDisk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

tags {[key: string]: string}

A mapping of tags to assign to the resource.

upgradePolicyMode string

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

zones string[]

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

automatic_os_upgrade bool

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

boot_diagnostics ScaleSetBootDiagnosticsArgs

A boot diagnostics profile block as referenced below.

eviction_policy str

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

extensions Sequence[ScaleSetExtensionArgs]

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

health_probe_id str

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

identity ScaleSetIdentityArgs

An identity block as defined below.

license_type str

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

location str

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name str

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

network_profiles Sequence[ScaleSetNetworkProfileArgs]

A collection of network profile block as documented below.

os_profile ScaleSetOsProfileArgs

A Virtual Machine OS Profile block as documented below.

os_profile_linux_config ScaleSetOsProfileLinuxConfigArgs

A Linux config block as documented below.

os_profile_secrets Sequence[ScaleSetOsProfileSecretArgs]

A collection of Secret blocks as documented below.

os_profile_windows_config ScaleSetOsProfileWindowsConfigArgs

A Windows config block as documented below.

overprovision bool

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

plan ScaleSetPlanArgs

A plan block as documented below.

priority str

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

proximity_placement_group_id str

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

resource_group_name str

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

rolling_upgrade_policy ScaleSetRollingUpgradePolicyArgs

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

single_placement_group bool

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

sku ScaleSetSkuArgs

A SKU block as documented below.

storage_profile_data_disks Sequence[ScaleSetStorageProfileDataDiskArgs]

A storage profile data disk block as documented below

storage_profile_image_reference ScaleSetStorageProfileImageReferenceArgs

A storage profile image reference block as documented below.

storage_profile_os_disk ScaleSetStorageProfileOsDiskArgs

A storage profile os disk block as documented below

tags Mapping[str, str]

A mapping of tags to assign to the resource.

upgrade_policy_mode str

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

zones Sequence[str]

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

automaticOsUpgrade Boolean

Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.

bootDiagnostics Property Map

A boot diagnostics profile block as referenced below.

evictionPolicy String

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

extensions List<Property Map>

Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.

healthProbeId String

Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.

identity Property Map

An identity block as defined below.

licenseType String

(Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.

location String

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name String

Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.

networkProfiles List<Property Map>

A collection of network profile block as documented below.

osProfile Property Map

A Virtual Machine OS Profile block as documented below.

osProfileLinuxConfig Property Map

A Linux config block as documented below.

osProfileSecrets List<Property Map>

A collection of Secret blocks as documented below.

osProfileWindowsConfig Property Map

A Windows config block as documented below.

overprovision Boolean

Specifies whether the virtual machine scale set should be overprovisioned. Defaults to true.

plan Property Map

A plan block as documented below.

priority String

Specifies the priority for the Virtual Machines in the Scale Set. Possible values are Low and Regular. Changing this forces a new resource to be created.

proximityPlacementGroupId String

The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created

resourceGroupName String

The name of the resource group in which to create the virtual machine scale set. Changing this forces a new resource to be created.

rollingUpgradePolicy Property Map

A rolling_upgrade_policy block as defined below. This is only applicable when the upgrade_policy_mode is Rolling.

singlePlacementGroup Boolean

Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.

sku Property Map

A SKU block as documented below.

storageProfileDataDisks List<Property Map>

A storage profile data disk block as documented below

storageProfileImageReference Property Map

A storage profile image reference block as documented below.

storageProfileOsDisk Property Map

A storage profile os disk block as documented below

tags Map<String>

A mapping of tags to assign to the resource.

upgradePolicyMode String

Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.

zones List<String>

A collection of availability zones to spread the Virtual Machines over. Changing this forces a new resource to be created.

Supporting Types

ScaleSetBootDiagnostics

StorageUri string

Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.

Enabled bool

Whether to enable boot diagnostics for the virtual machine. Defaults to true.

StorageUri string

Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.

Enabled bool

Whether to enable boot diagnostics for the virtual machine. Defaults to true.

storageUri String

Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.

enabled Boolean

Whether to enable boot diagnostics for the virtual machine. Defaults to true.

storageUri string

Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.

enabled boolean

Whether to enable boot diagnostics for the virtual machine. Defaults to true.

storage_uri str

Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.

enabled bool

Whether to enable boot diagnostics for the virtual machine. Defaults to true.

storageUri String

Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.

enabled Boolean

Whether to enable boot diagnostics for the virtual machine. Defaults to true.

ScaleSetExtension

Name string

Specifies the name of the extension.

Publisher string

The publisher of the extension, available publishers can be found by using the Azure CLI.

Type string

The type of extension, available types for a publisher can be found using the Azure CLI.

TypeHandlerVersion string

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

AutoUpgradeMinorVersion bool

Specifies whether or not to use the latest minor version available.

ProtectedSettings string

The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.

ProvisionAfterExtensions List<string>

Specifies a dependency array of extensions required to be executed before, the array stores the name of each extension.

Settings string

The settings passed to the extension, these are specified as a JSON object in a string.

Name string

Specifies the name of the extension.

Publisher string

The publisher of the extension, available publishers can be found by using the Azure CLI.

Type string

The type of extension, available types for a publisher can be found using the Azure CLI.

TypeHandlerVersion string

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

AutoUpgradeMinorVersion bool

Specifies whether or not to use the latest minor version available.

ProtectedSettings string

The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.

ProvisionAfterExtensions []string

Specifies a dependency array of extensions required to be executed before, the array stores the name of each extension.

Settings string

The settings passed to the extension, these are specified as a JSON object in a string.

name String

Specifies the name of the extension.

publisher String

The publisher of the extension, available publishers can be found by using the Azure CLI.

type String

The type of extension, available types for a publisher can be found using the Azure CLI.

typeHandlerVersion String

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

autoUpgradeMinorVersion Boolean

Specifies whether or not to use the latest minor version available.

protectedSettings String

The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.

provisionAfterExtensions List<String>

Specifies a dependency array of extensions required to be executed before, the array stores the name of each extension.

settings String

The settings passed to the extension, these are specified as a JSON object in a string.

name string

Specifies the name of the extension.

publisher string

The publisher of the extension, available publishers can be found by using the Azure CLI.

type string

The type of extension, available types for a publisher can be found using the Azure CLI.

typeHandlerVersion string

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

autoUpgradeMinorVersion boolean

Specifies whether or not to use the latest minor version available.

protectedSettings string

The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.

provisionAfterExtensions string[]

Specifies a dependency array of extensions required to be executed before, the array stores the name of each extension.

settings string

The settings passed to the extension, these are specified as a JSON object in a string.

name str

Specifies the name of the extension.

publisher str

The publisher of the extension, available publishers can be found by using the Azure CLI.

type str

The type of extension, available types for a publisher can be found using the Azure CLI.

type_handler_version str

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

auto_upgrade_minor_version bool

Specifies whether or not to use the latest minor version available.

protected_settings str

The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.

provision_after_extensions Sequence[str]

Specifies a dependency array of extensions required to be executed before, the array stores the name of each extension.

settings str

The settings passed to the extension, these are specified as a JSON object in a string.

name String

Specifies the name of the extension.

publisher String

The publisher of the extension, available publishers can be found by using the Azure CLI.

type String

The type of extension, available types for a publisher can be found using the Azure CLI.

typeHandlerVersion String

Specifies the version of the extension to use, available versions can be found using the Azure CLI.

autoUpgradeMinorVersion Boolean

Specifies whether or not to use the latest minor version available.

protectedSettings String

The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.

provisionAfterExtensions List<String>

Specifies a dependency array of extensions required to be executed before, the array stores the name of each extension.

settings String

The settings passed to the extension, these are specified as a JSON object in a string.

ScaleSetIdentity

Type string

Specifies the identity type to be assigned to the scale set. Allowable values are SystemAssigned and UserAssigned. For the SystemAssigned identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.

IdentityIds List<string>

Specifies a list of user managed identity ids to be assigned to the VMSS. Required if type is UserAssigned.

PrincipalId string
Type string

Specifies the identity type to be assigned to the scale set. Allowable values are SystemAssigned and UserAssigned. For the SystemAssigned identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.

IdentityIds []string

Specifies a list of user managed identity ids to be assigned to the VMSS. Required if type is UserAssigned.

PrincipalId string
type String

Specifies the identity type to be assigned to the scale set. Allowable values are SystemAssigned and UserAssigned. For the SystemAssigned identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.

identityIds List<String>

Specifies a list of user managed identity ids to be assigned to the VMSS. Required if type is UserAssigned.

principalId String
type string

Specifies the identity type to be assigned to the scale set. Allowable values are SystemAssigned and UserAssigned. For the SystemAssigned identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.

identityIds string[]

Specifies a list of user managed identity ids to be assigned to the VMSS. Required if type is UserAssigned.

principalId string
type str

Specifies the identity type to be assigned to the scale set. Allowable values are SystemAssigned and UserAssigned. For the SystemAssigned identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.

identity_ids Sequence[str]

Specifies a list of user managed identity ids to be assigned to the VMSS. Required if type is UserAssigned.

principal_id str
type String

Specifies the identity type to be assigned to the scale set. Allowable values are SystemAssigned and UserAssigned. For the SystemAssigned identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.

identityIds List<String>

Specifies a list of user managed identity ids to be assigned to the VMSS. Required if type is UserAssigned.

principalId String

ScaleSetNetworkProfile

IpConfigurations List<ScaleSetNetworkProfileIpConfiguration>

An ip_configuration block as documented below.

Name string

Specifies the name of the network interface configuration.

Primary bool

Indicates whether network interfaces created from the network interface configuration will be the primary NIC of the VM.

AcceleratedNetworking bool

Specifies whether to enable accelerated networking or not.

DnsSettings ScaleSetNetworkProfileDnsSettings

A dns_settings block as documented below.

IpForwarding bool

Whether IP forwarding is enabled on this NIC. Defaults to false.

NetworkSecurityGroupId string

Specifies the identifier for the network security group.

IpConfigurations []ScaleSetNetworkProfileIpConfiguration

An ip_configuration block as documented below.

Name string

Specifies the name of the network interface configuration.

Primary bool

Indicates whether network interfaces created from the network interface configuration will be the primary NIC of the VM.

AcceleratedNetworking bool

Specifies whether to enable accelerated networking or not.

DnsSettings ScaleSetNetworkProfileDnsSettings

A dns_settings block as documented below.

IpForwarding bool

Whether IP forwarding is enabled on this NIC. Defaults to false.

NetworkSecurityGroupId string

Specifies the identifier for the network security group.

ipConfigurations List<ScaleSetNetworkProfileIpConfiguration>

An ip_configuration block as documented below.

name String

Specifies the name of the network interface configuration.

primary Boolean

Indicates whether network interfaces created from the network interface configuration will be the primary NIC of the VM.

acceleratedNetworking Boolean

Specifies whether to enable accelerated networking or not.

dnsSettings ScaleSetNetworkProfileDnsSettings

A dns_settings block as documented below.

ipForwarding Boolean

Whether IP forwarding is enabled on this NIC. Defaults to false.

networkSecurityGroupId String

Specifies the identifier for the network security group.

ipConfigurations ScaleSetNetworkProfileIpConfiguration[]

An ip_configuration block as documented below.

name string

Specifies the name of the network interface configuration.

primary boolean

Indicates whether network interfaces created from the network interface configuration will be the primary NIC of the VM.

acceleratedNetworking boolean

Specifies whether to enable accelerated networking or not.

dnsSettings ScaleSetNetworkProfileDnsSettings

A dns_settings block as documented below.

ipForwarding boolean

Whether IP forwarding is enabled on this NIC. Defaults to false.

networkSecurityGroupId string

Specifies the identifier for the network security group.

ip_configurations Sequence[ScaleSetNetworkProfileIpConfiguration]

An ip_configuration block as documented below.

name str

Specifies the name of the network interface configuration.

primary bool

Indicates whether network interfaces created from the network interface configuration will be the primary NIC of the VM.

accelerated_networking bool

Specifies whether to enable accelerated networking or not.

dns_settings ScaleSetNetworkProfileDnsSettings

A dns_settings block as documented below.

ip_forwarding bool

Whether IP forwarding is enabled on this NIC. Defaults to false.

network_security_group_id str

Specifies the identifier for the network security group.

ipConfigurations List<Property Map>

An ip_configuration block as documented below.

name String

Specifies the name of the network interface configuration.

primary Boolean

Indicates whether network interfaces created from the network interface configuration will be the primary NIC of the VM.

acceleratedNetworking Boolean

Specifies whether to enable accelerated networking or not.

dnsSettings Property Map

A dns_settings block as documented below.

ipForwarding Boolean

Whether IP forwarding is enabled on this NIC. Defaults to false.

networkSecurityGroupId String

Specifies the identifier for the network security group.

ScaleSetNetworkProfileDnsSettings

DnsServers List<string>

Specifies an array of DNS servers.

DnsServers []string

Specifies an array of DNS servers.

dnsServers List<String>

Specifies an array of DNS servers.

dnsServers string[]

Specifies an array of DNS servers.

dns_servers Sequence[str]

Specifies an array of DNS servers.

dnsServers List<String>

Specifies an array of DNS servers.

ScaleSetNetworkProfileIpConfiguration

Name string

Specifies name of the IP configuration.

Primary bool

Specifies if this ip_configuration is the primary one.

SubnetId string

Specifies the identifier of the subnet.

ApplicationGatewayBackendAddressPoolIds List<string>

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 can use the same application gateway.

ApplicationSecurityGroupIds List<string>

Specifies up to 20 application security group IDs.

LoadBalancerBackendAddressPoolIds List<string>

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

LoadBalancerInboundNatRulesIds List<string>

Specifies an array of references to inbound NAT pools for 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 load balancer.

PublicIpAddressConfiguration ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The public_ip_address_configuration is documented below.

Name string

Specifies name of the IP configuration.

Primary bool

Specifies if this ip_configuration is the primary one.

SubnetId string

Specifies the identifier of the subnet.

ApplicationGatewayBackendAddressPoolIds []string

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 can use the same application gateway.

ApplicationSecurityGroupIds []string

Specifies up to 20 application security group IDs.

LoadBalancerBackendAddressPoolIds []string

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

LoadBalancerInboundNatRulesIds []string

Specifies an array of references to inbound NAT pools for 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 load balancer.

PublicIpAddressConfiguration ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The public_ip_address_configuration is documented below.

name String

Specifies name of the IP configuration.

primary Boolean

Specifies if this ip_configuration is the primary one.

subnetId String

Specifies the identifier of the subnet.

applicationGatewayBackendAddressPoolIds List<String>

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 can use the same application gateway.

applicationSecurityGroupIds List<String>

Specifies up to 20 application security group IDs.

loadBalancerBackendAddressPoolIds List<String>

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

loadBalancerInboundNatRulesIds List<String>

Specifies an array of references to inbound NAT pools for 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 load balancer.

publicIpAddressConfiguration ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The public_ip_address_configuration is documented below.

name string

Specifies name of the IP configuration.

primary boolean

Specifies if this ip_configuration is the primary one.

subnetId string

Specifies the identifier of the subnet.

applicationGatewayBackendAddressPoolIds string[]

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 can use the same application gateway.

applicationSecurityGroupIds string[]

Specifies up to 20 application security group IDs.

loadBalancerBackendAddressPoolIds string[]

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

loadBalancerInboundNatRulesIds string[]

Specifies an array of references to inbound NAT pools for 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 load balancer.

publicIpAddressConfiguration ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The public_ip_address_configuration is documented below.

name str

Specifies name of the IP configuration.

primary bool

Specifies if this ip_configuration is the primary one.

subnet_id str

Specifies the identifier of the subnet.

application_gateway_backend_address_pool_ids Sequence[str]

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 can use the same application gateway.

application_security_group_ids Sequence[str]

Specifies up to 20 application security group IDs.

load_balancer_backend_address_pool_ids Sequence[str]

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

load_balancer_inbound_nat_rules_ids Sequence[str]

Specifies an array of references to inbound NAT pools for 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 load balancer.

public_ip_address_configuration ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The public_ip_address_configuration is documented below.

name String

Specifies name of the IP configuration.

primary Boolean

Specifies if this ip_configuration is the primary one.

subnetId String

Specifies the identifier of the subnet.

applicationGatewayBackendAddressPoolIds List<String>

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 can use the same application gateway.

applicationSecurityGroupIds List<String>

Specifies up to 20 application security group IDs.

loadBalancerBackendAddressPoolIds List<String>

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

loadBalancerInboundNatRulesIds List<String>

Specifies an array of references to inbound NAT pools for 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 load balancer.

publicIpAddressConfiguration Property Map

Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The public_ip_address_configuration is documented below.

ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration

DomainNameLabel string

The domain name label for the DNS settings.

IdleTimeout int

The idle timeout in minutes. This value must be between 4 and 30.

Name string

The name of the public IP address configuration

DomainNameLabel string

The domain name label for the DNS settings.

IdleTimeout int

The idle timeout in minutes. This value must be between 4 and 30.

Name string

The name of the public IP address configuration

domainNameLabel String

The domain name label for the DNS settings.

idleTimeout Integer

The idle timeout in minutes. This value must be between 4 and 30.

name String

The name of the public IP address configuration

domainNameLabel string

The domain name label for the DNS settings.

idleTimeout number

The idle timeout in minutes. This value must be between 4 and 30.

name string

The name of the public IP address configuration

domain_name_label str

The domain name label for the DNS settings.

idle_timeout int

The idle timeout in minutes. This value must be between 4 and 30.

name str

The name of the public IP address configuration

domainNameLabel String

The domain name label for the DNS settings.

idleTimeout Number

The idle timeout in minutes. This value must be between 4 and 30.

name String

The name of the public IP address configuration

ScaleSetOsProfile

AdminUsername string

Specifies the administrator account name to use for all the instances of virtual machines in the scale set.

ComputerNamePrefix string

Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 9 characters long for windows images and 1 - 58 for Linux. Changing this forces a new resource to be created.

AdminPassword string

Specifies the administrator password to use for all the instances of virtual machines in a scale set.

CustomData string

Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes.

AdminUsername string

Specifies the administrator account name to use for all the instances of virtual machines in the scale set.

ComputerNamePrefix string

Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 9 characters long for windows images and 1 - 58 for Linux. Changing this forces a new resource to be created.

AdminPassword string

Specifies the administrator password to use for all the instances of virtual machines in a scale set.

CustomData string

Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes.

adminUsername String

Specifies the administrator account name to use for all the instances of virtual machines in the scale set.

computerNamePrefix String

Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 9 characters long for windows images and 1 - 58 for Linux. Changing this forces a new resource to be created.

adminPassword String

Specifies the administrator password to use for all the instances of virtual machines in a scale set.

customData String

Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes.

adminUsername string

Specifies the administrator account name to use for all the instances of virtual machines in the scale set.

computerNamePrefix string

Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 9 characters long for windows images and 1 - 58 for Linux. Changing this forces a new resource to be created.

adminPassword string

Specifies the administrator password to use for all the instances of virtual machines in a scale set.

customData string

Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes.

admin_username str

Specifies the administrator account name to use for all the instances of virtual machines in the scale set.

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 9 characters long for windows images and 1 - 58 for Linux. Changing this forces a new resource to be created.

admin_password str

Specifies the administrator password to use for all the instances of virtual machines in a scale set.

custom_data str

Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes.

adminUsername String

Specifies the administrator account name to use for all the instances of virtual machines in the scale set.

computerNamePrefix String

Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 9 characters long for windows images and 1 - 58 for Linux. Changing this forces a new resource to be created.

adminPassword String

Specifies the administrator password to use for all the instances of virtual machines in a scale set.

customData String

Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes.

ScaleSetOsProfileLinuxConfig

DisablePasswordAuthentication bool

Specifies whether password authentication should be disabled. Defaults to false. Changing this forces a new resource to be created.

SshKeys List<ScaleSetOsProfileLinuxConfigSshKey>

One or more ssh_keys blocks as defined below.

DisablePasswordAuthentication bool

Specifies whether password authentication should be disabled. Defaults to false. Changing this forces a new resource to be created.

SshKeys []ScaleSetOsProfileLinuxConfigSshKey

One or more ssh_keys blocks as defined below.

disablePasswordAuthentication Boolean

Specifies whether password authentication should be disabled. Defaults to false. Changing this forces a new resource to be created.

sshKeys List<ScaleSetOsProfileLinuxConfigSshKey>

One or more ssh_keys blocks as defined below.

disablePasswordAuthentication boolean

Specifies whether password authentication should be disabled. Defaults to false. Changing this forces a new resource to be created.

sshKeys ScaleSetOsProfileLinuxConfigSshKey[]

One or more ssh_keys blocks as defined below.

disable_password_authentication bool

Specifies whether password authentication should be disabled. Defaults to false. Changing this forces a new resource to be created.

ssh_keys Sequence[ScaleSetOsProfileLinuxConfigSshKey]

One or more ssh_keys blocks as defined below.

disablePasswordAuthentication Boolean

Specifies whether password authentication should be disabled. Defaults to false. Changing this forces a new resource to be created.

sshKeys List<Property Map>

One or more ssh_keys blocks as defined below.

ScaleSetOsProfileLinuxConfigSshKey

Path string

The path of the destination file on the virtual machine

KeyData string

The Public SSH Key which should be written to the path defined above.

Path string

The path of the destination file on the virtual machine

KeyData string

The Public SSH Key which should be written to the path defined above.

path String

The path of the destination file on the virtual machine

keyData String

The Public SSH Key which should be written to the path defined above.

path string

The path of the destination file on the virtual machine

keyData string

The Public SSH Key which should be written to the path defined above.

path str

The path of the destination file on the virtual machine

key_data str

The Public SSH Key which should be written to the path defined above.

path String

The path of the destination file on the virtual machine

keyData String

The Public SSH Key which should be written to the path defined above.

ScaleSetOsProfileSecret

SourceVaultId string

Specifies the key vault to use.

VaultCertificates List<ScaleSetOsProfileSecretVaultCertificate>

(Required, on Windows machines) One or more vault_certificates blocks as defined below.

SourceVaultId string

Specifies the key vault to use.

VaultCertificates []ScaleSetOsProfileSecretVaultCertificate

(Required, on Windows machines) One or more vault_certificates blocks as defined below.

sourceVaultId String

Specifies the key vault to use.

vaultCertificates List<ScaleSetOsProfileSecretVaultCertificate>

(Required, on Windows machines) One or more vault_certificates blocks as defined below.

sourceVaultId string

Specifies the key vault to use.

vaultCertificates ScaleSetOsProfileSecretVaultCertificate[]

(Required, on Windows machines) One or more vault_certificates blocks as defined below.

source_vault_id str

Specifies the key vault to use.

vault_certificates Sequence[ScaleSetOsProfileSecretVaultCertificate]

(Required, on Windows machines) One or more vault_certificates blocks as defined below.

sourceVaultId String

Specifies the key vault to use.

vaultCertificates List<Property Map>

(Required, on Windows machines) One or more vault_certificates blocks as defined below.

ScaleSetOsProfileSecretVaultCertificate

CertificateUrl string

It is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be data, dataType and password.

CertificateStore string

(Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to.

CertificateUrl string

It is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be data, dataType and password.

CertificateStore string

(Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to.

certificateUrl String

It is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be data, dataType and password.

certificateStore String

(Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to.

certificateUrl string

It is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be data, dataType and password.

certificateStore string

(Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to.

certificate_url str

It is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be data, dataType and password.

certificate_store str

(Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to.

certificateUrl String

It is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be data, dataType and password.

certificateStore String

(Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to.

ScaleSetOsProfileWindowsConfig

AdditionalUnattendConfigs List<ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig>

An Additional Unattended Config block as documented below.

EnableAutomaticUpgrades bool

Indicates whether virtual machines in the scale set are enabled for automatic updates.

ProvisionVmAgent bool

Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.

Winrms List<ScaleSetOsProfileWindowsConfigWinrm>

A collection of WinRM configuration blocks as documented below.

AdditionalUnattendConfigs []ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig

An Additional Unattended Config block as documented below.

EnableAutomaticUpgrades bool

Indicates whether virtual machines in the scale set are enabled for automatic updates.

ProvisionVmAgent bool

Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.

Winrms []ScaleSetOsProfileWindowsConfigWinrm

A collection of WinRM configuration blocks as documented below.

additionalUnattendConfigs List<ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig>

An Additional Unattended Config block as documented below.

enableAutomaticUpgrades Boolean

Indicates whether virtual machines in the scale set are enabled for automatic updates.

provisionVmAgent Boolean

Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.

winrms List<ScaleSetOsProfileWindowsConfigWinrm>

A collection of WinRM configuration blocks as documented below.

additionalUnattendConfigs ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig[]

An Additional Unattended Config block as documented below.

enableAutomaticUpgrades boolean

Indicates whether virtual machines in the scale set are enabled for automatic updates.

provisionVmAgent boolean

Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.

winrms ScaleSetOsProfileWindowsConfigWinrm[]

A collection of WinRM configuration blocks as documented below.

additional_unattend_configs Sequence[ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig]

An Additional Unattended Config block as documented below.

enable_automatic_upgrades bool

Indicates whether virtual machines in the scale set are enabled for automatic updates.

provision_vm_agent bool

Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.

winrms Sequence[ScaleSetOsProfileWindowsConfigWinrm]

A collection of WinRM configuration blocks as documented below.

additionalUnattendConfigs List<Property Map>

An Additional Unattended Config block as documented below.

enableAutomaticUpgrades Boolean

Indicates whether virtual machines in the scale set are enabled for automatic updates.

provisionVmAgent Boolean

Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.

winrms List<Property Map>

A collection of WinRM configuration blocks as documented below.

ScaleSetOsProfileWindowsConfigAdditionalUnattendConfig

Component string

Specifies the name of the component to configure with the added content. The only allowable value is Microsoft-Windows-Shell-Setup.

Content string

Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.

Pass string

Specifies the name of the pass that the content applies to. 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 string

Specifies the name of the component to configure with the added content. The only allowable value is Microsoft-Windows-Shell-Setup.

Content string

Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.

Pass string

Specifies the name of the pass that the content applies to. 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 String

Specifies the name of the component to configure with the added content. The only allowable value is Microsoft-Windows-Shell-Setup.

content String

Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.

pass String

Specifies the name of the pass that the content applies to. 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 string

Specifies the name of the component to configure with the added content. The only allowable value is Microsoft-Windows-Shell-Setup.

content string

Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.

pass string

Specifies the name of the pass that the content applies to. 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 str

Specifies the name of the component to configure with the added content. The only allowable value is Microsoft-Windows-Shell-Setup.

content str

Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.

pass_ str

Specifies the name of the pass that the content applies to. 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.

component String

Specifies the name of the component to configure with the added content. The only allowable value is Microsoft-Windows-Shell-Setup.

content String

Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.

pass String

Specifies the name of the pass that the content applies to. 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.

ScaleSetOsProfileWindowsConfigWinrm

Protocol string

Specifies the protocol of listener

CertificateUrl string

Specifies URL of the certificate with which new Virtual Machines is provisioned.

Protocol string

Specifies the protocol of listener

CertificateUrl string

Specifies URL of the certificate with which new Virtual Machines is provisioned.

protocol String

Specifies the protocol of listener

certificateUrl String

Specifies URL of the certificate with which new Virtual Machines is provisioned.

protocol string

Specifies the protocol of listener

certificateUrl string

Specifies URL of the certificate with which new Virtual Machines is provisioned.

protocol str

Specifies the protocol of listener

certificate_url str

Specifies URL of the certificate with which new Virtual Machines is provisioned.

protocol String

Specifies the protocol of listener

certificateUrl String

Specifies URL of the certificate with which new Virtual Machines is provisioned.

ScaleSetPlan

Name string

Specifies the name of the image from the marketplace.

Product string

Specifies the product of the image from the marketplace.

Publisher string

Specifies the publisher of the image.

Name string

Specifies the name of the image from the marketplace.

Product string

Specifies the product of the image from the marketplace.

Publisher string

Specifies the publisher of the image.

name String

Specifies the name of the image from the marketplace.

product String

Specifies the product of the image from the marketplace.

publisher String

Specifies the publisher of the image.

name string

Specifies the name of the image from the marketplace.

product string

Specifies the product of the image from the marketplace.

publisher string

Specifies the publisher of the image.

name str

Specifies the name of the image from the marketplace.

product str

Specifies the product of the image from the marketplace.

publisher str

Specifies the publisher of the image.

name String

Specifies the name of the image from the marketplace.

product String

Specifies the product of the image from the marketplace.

publisher String

Specifies the publisher of the image.

ScaleSetRollingUpgradePolicy

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. Defaults to 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. Defaults to 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. Defaults to 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 for duration (https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to 0 seconds represented as PT0S.

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. Defaults to 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. Defaults to 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. Defaults to 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 for duration (https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to 0 seconds represented as PT0S.

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. Defaults to 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. Defaults to 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. Defaults to 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 for duration (https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to 0 seconds represented as PT0S.

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. Defaults to 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. Defaults to 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. Defaults to 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 for duration (https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to 0 seconds represented as PT0S.

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. Defaults to 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. Defaults to 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. Defaults to 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 for duration (https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to 0 seconds represented as PT0S.

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. Defaults to 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. Defaults to 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. Defaults to 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 for duration (https://en.wikipedia.org/wiki/ISO_8601#Durations). Defaults to 0 seconds represented as PT0S.

ScaleSetSku

Capacity int

Specifies the number of virtual machines in the scale set.

Name string

Specifies the size of virtual machines in a scale set.

Tier string

Specifies the tier of virtual machines in a scale set. Possible values, standard or basic.

Capacity int

Specifies the number of virtual machines in the scale set.

Name string

Specifies the size of virtual machines in a scale set.

Tier string

Specifies the tier of virtual machines in a scale set. Possible values, standard or basic.

capacity Integer

Specifies the number of virtual machines in the scale set.

name String

Specifies the size of virtual machines in a scale set.

tier String

Specifies the tier of virtual machines in a scale set. Possible values, standard or basic.

capacity number

Specifies the number of virtual machines in the scale set.

name string

Specifies the size of virtual machines in a scale set.

tier string

Specifies the tier of virtual machines in a scale set. Possible values, standard or basic.

capacity int

Specifies the number of virtual machines in the scale set.

name str

Specifies the size of virtual machines in a scale set.

tier str

Specifies the tier of virtual machines in a scale set. Possible values, standard or basic.

capacity Number

Specifies the number of virtual machines in the scale set.

name String

Specifies the size of virtual machines in a scale set.

tier String

Specifies the tier of virtual machines in a scale set. Possible values, standard or basic.

ScaleSetStorageProfileDataDisk

CreateOption string

Specifies how the data disk should be created. The only possible options are FromImage and Empty.

Lun int

Specifies the Logical Unit Number of the disk in each virtual machine in the scale set.

Caching string

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

DiskSizeGb int

Specifies the size of the disk in GB. This element is required when creating an empty disk.

ManagedDiskType string

Specifies the type of managed disk to create. Value must be either Standard_LRS, StandardSSD_LRS or Premium_LRS.

CreateOption string

Specifies how the data disk should be created. The only possible options are FromImage and Empty.

Lun int

Specifies the Logical Unit Number of the disk in each virtual machine in the scale set.

Caching string

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

DiskSizeGb int

Specifies the size of the disk in GB. This element is required when creating an empty disk.

ManagedDiskType string

Specifies the type of managed disk to create. Value must be either Standard_LRS, StandardSSD_LRS or Premium_LRS.

createOption String

Specifies how the data disk should be created. The only possible options are FromImage and Empty.

lun Integer

Specifies the Logical Unit Number of the disk in each virtual machine in the scale set.

caching String

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

diskSizeGb Integer

Specifies the size of the disk in GB. This element is required when creating an empty disk.

managedDiskType String

Specifies the type of managed disk to create. Value must be either Standard_LRS, StandardSSD_LRS or Premium_LRS.

createOption string

Specifies how the data disk should be created. The only possible options are FromImage and Empty.

lun number

Specifies the Logical Unit Number of the disk in each virtual machine in the scale set.

caching string

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

diskSizeGb number

Specifies the size of the disk in GB. This element is required when creating an empty disk.

managedDiskType string

Specifies the type of managed disk to create. Value must be either Standard_LRS, StandardSSD_LRS or Premium_LRS.

create_option str

Specifies how the data disk should be created. The only possible options are FromImage and Empty.

lun int

Specifies the Logical Unit Number of the disk in each virtual machine in the scale set.

caching str

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

disk_size_gb int

Specifies the size of the disk in GB. This element is required when creating an empty disk.

managed_disk_type str

Specifies the type of managed disk to create. Value must be either Standard_LRS, StandardSSD_LRS or Premium_LRS.

createOption String

Specifies how the data disk should be created. The only possible options are FromImage and Empty.

lun Number

Specifies the Logical Unit Number of the disk in each virtual machine in the scale set.

caching String

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

diskSizeGb Number

Specifies the size of the disk in GB. This element is required when creating an empty disk.

managedDiskType String

Specifies the type of managed disk to create. Value must be either Standard_LRS, StandardSSD_LRS or Premium_LRS.

ScaleSetStorageProfileImageReference

Id string

Specifies the ID of the (custom) image to use to create the virtual machine scale set, as in the example below.

Offer string

Specifies the offer of the image used to create the virtual machines.

Publisher string

Specifies the publisher of the image used to create the virtual machines.

Sku string

Specifies the SKU of the image used to create the virtual machines.

Version string

Specifies the version of the image used to create the virtual machines.

Id string

Specifies the ID of the (custom) image to use to create the virtual machine scale set, as in the example below.

Offer string

Specifies the offer of the image used to create the virtual machines.

Publisher string

Specifies the publisher of the image used to create the virtual machines.

Sku string

Specifies the SKU of the image used to create the virtual machines.

Version string

Specifies the version of the image used to create the virtual machines.

id String

Specifies the ID of the (custom) image to use to create the virtual machine scale set, as in the example below.

offer String

Specifies the offer of the image used to create the virtual machines.

publisher String

Specifies the publisher of the image used to create the virtual machines.

sku String

Specifies the SKU of the image used to create the virtual machines.

version String

Specifies the version of the image used to create the virtual machines.

id string

Specifies the ID of the (custom) image to use to create the virtual machine scale set, as in the example below.

offer string

Specifies the offer of the image used to create the virtual machines.

publisher string

Specifies the publisher of the image used to create the virtual machines.

sku string

Specifies the SKU of the image used to create the virtual machines.

version string

Specifies the version of the image used to create the virtual machines.

id str

Specifies the ID of the (custom) image to use to create the virtual machine scale set, as in the example below.

offer str

Specifies the offer of the image used to create the virtual machines.

publisher str

Specifies the publisher of the image used to create the virtual machines.

sku str

Specifies the SKU of the image used to create the virtual machines.

version str

Specifies the version of the image used to create the virtual machines.

id String

Specifies the ID of the (custom) image to use to create the virtual machine scale set, as in the example below.

offer String

Specifies the offer of the image used to create the virtual machines.

publisher String

Specifies the publisher of the image used to create the virtual machines.

sku String

Specifies the SKU of the image used to create the virtual machines.

version String

Specifies the version of the image used to create the virtual machines.

ScaleSetStorageProfileOsDisk

CreateOption string

Specifies how the virtual machine should be created. The only possible option is FromImage.

Caching string

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

Image string

Specifies the blob URI for user image. A virtual machine scale set creates an os disk in the same container as the user image. Updating the osDisk image causes the existing disk to be deleted and a new one created with the new image. If the VM scale set is in Manual upgrade mode then the virtual machines are not updated until they have manualUpgrade applied to them. When setting this field os_type needs to be specified. Cannot be used when vhd_containers, managed_disk_type or storage_profile_image_reference are specified.

ManagedDiskType string

Specifies the type of managed disk to create. Value you must be either Standard_LRS, StandardSSD_LRS or Premium_LRS. Cannot be used when vhd_containers or image is specified.

Name string

Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).

OsType string

Specifies the operating system Type, valid values are windows, Linux.

VhdContainers List<string>

Specifies the VHD URI. Cannot be used when image or managed_disk_type is specified.

CreateOption string

Specifies how the virtual machine should be created. The only possible option is FromImage.

Caching string

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

Image string

Specifies the blob URI for user image. A virtual machine scale set creates an os disk in the same container as the user image. Updating the osDisk image causes the existing disk to be deleted and a new one created with the new image. If the VM scale set is in Manual upgrade mode then the virtual machines are not updated until they have manualUpgrade applied to them. When setting this field os_type needs to be specified. Cannot be used when vhd_containers, managed_disk_type or storage_profile_image_reference are specified.

ManagedDiskType string

Specifies the type of managed disk to create. Value you must be either Standard_LRS, StandardSSD_LRS or Premium_LRS. Cannot be used when vhd_containers or image is specified.

Name string

Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).

OsType string

Specifies the operating system Type, valid values are windows, Linux.

VhdContainers []string

Specifies the VHD URI. Cannot be used when image or managed_disk_type is specified.

createOption String

Specifies how the virtual machine should be created. The only possible option is FromImage.

caching String

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

image String

Specifies the blob URI for user image. A virtual machine scale set creates an os disk in the same container as the user image. Updating the osDisk image causes the existing disk to be deleted and a new one created with the new image. If the VM scale set is in Manual upgrade mode then the virtual machines are not updated until they have manualUpgrade applied to them. When setting this field os_type needs to be specified. Cannot be used when vhd_containers, managed_disk_type or storage_profile_image_reference are specified.

managedDiskType String

Specifies the type of managed disk to create. Value you must be either Standard_LRS, StandardSSD_LRS or Premium_LRS. Cannot be used when vhd_containers or image is specified.

name String

Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).

osType String

Specifies the operating system Type, valid values are windows, Linux.

vhdContainers List<String>

Specifies the VHD URI. Cannot be used when image or managed_disk_type is specified.

createOption string

Specifies how the virtual machine should be created. The only possible option is FromImage.

caching string

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

image string

Specifies the blob URI for user image. A virtual machine scale set creates an os disk in the same container as the user image. Updating the osDisk image causes the existing disk to be deleted and a new one created with the new image. If the VM scale set is in Manual upgrade mode then the virtual machines are not updated until they have manualUpgrade applied to them. When setting this field os_type needs to be specified. Cannot be used when vhd_containers, managed_disk_type or storage_profile_image_reference are specified.

managedDiskType string

Specifies the type of managed disk to create. Value you must be either Standard_LRS, StandardSSD_LRS or Premium_LRS. Cannot be used when vhd_containers or image is specified.

name string

Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).

osType string

Specifies the operating system Type, valid values are windows, Linux.

vhdContainers string[]

Specifies the VHD URI. Cannot be used when image or managed_disk_type is specified.

create_option str

Specifies how the virtual machine should be created. The only possible option is FromImage.

caching str

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

image str

Specifies the blob URI for user image. A virtual machine scale set creates an os disk in the same container as the user image. Updating the osDisk image causes the existing disk to be deleted and a new one created with the new image. If the VM scale set is in Manual upgrade mode then the virtual machines are not updated until they have manualUpgrade applied to them. When setting this field os_type needs to be specified. Cannot be used when vhd_containers, managed_disk_type or storage_profile_image_reference are specified.

managed_disk_type str

Specifies the type of managed disk to create. Value you must be either Standard_LRS, StandardSSD_LRS or Premium_LRS. Cannot be used when vhd_containers or image is specified.

name str

Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).

os_type str

Specifies the operating system Type, valid values are windows, Linux.

vhd_containers Sequence[str]

Specifies the VHD URI. Cannot be used when image or managed_disk_type is specified.

createOption String

Specifies how the virtual machine should be created. The only possible option is FromImage.

caching String

Specifies the caching requirements. Possible values include: None (default), ReadOnly, ReadWrite.

image String

Specifies the blob URI for user image. A virtual machine scale set creates an os disk in the same container as the user image. Updating the osDisk image causes the existing disk to be deleted and a new one created with the new image. If the VM scale set is in Manual upgrade mode then the virtual machines are not updated until they have manualUpgrade applied to them. When setting this field os_type needs to be specified. Cannot be used when vhd_containers, managed_disk_type or storage_profile_image_reference are specified.

managedDiskType String

Specifies the type of managed disk to create. Value you must be either Standard_LRS, StandardSSD_LRS or Premium_LRS. Cannot be used when vhd_containers or image is specified.

name String

Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).

osType String

Specifies the operating system Type, valid values are windows, Linux.

vhdContainers List<String>

Specifies the VHD URI. Cannot be used when image or managed_disk_type is specified.

Import

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

 $ pulumi import azure:compute/scaleSet:ScaleSet scaleset1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1

Package Details

Repository
Azure Classic pulumi/pulumi-azure
License
Apache-2.0
Notes

This Pulumi package is based on the azurerm Terraform Provider.