We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
Manages a virtual machine scale set.
Disclaimers
Note: The
azure.compute.ScaleSetresource has been superseded by theazure.compute.LinuxVirtualMachineScaleSet](linux_virtual_machine_scale_set.html) andazure.compute.WindowsVirtualMachineScaleSetresources. The existingazure.compute.ScaleSetresource will continue to be available throughout the 2.x releases however is in a feature-frozen state to maintain compatibility - new functionality will instead be added to theazure.compute.LinuxVirtualMachineScaleSetandazure.compute.WindowsVirtualMachineScaleSetresources.
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 Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleImage = new Azure.Compute.Image("exampleImage", new Azure.Compute.ImageArgs
{
});
// ...
var exampleScaleSet = new Azure.Compute.ScaleSet("exampleScaleSet", new Azure.Compute.ScaleSetArgs
{
StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs
{
Id = exampleImage.Id,
},
});
// ...
}
}
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v4/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
})
}
Example Usage
With Managed Disks (Recommended)
using System.IO;
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("exampleVirtualNetwork", new Azure.Network.VirtualNetworkArgs
{
AddressSpaces =
{
"10.0.0.0/16",
},
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
});
var exampleSubnet = new Azure.Network.Subnet("exampleSubnet", new Azure.Network.SubnetArgs
{
ResourceGroupName = exampleResourceGroup.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes =
{
"10.0.2.0/24",
},
});
var examplePublicIp = new Azure.Network.PublicIp("examplePublicIp", new Azure.Network.PublicIpArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
AllocationMethod = "Static",
DomainNameLabel = exampleResourceGroup.Name,
Tags =
{
{ "environment", "staging" },
},
});
var exampleLoadBalancer = new Azure.Lb.LoadBalancer("exampleLoadBalancer", new Azure.Lb.LoadBalancerArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
FrontendIpConfigurations =
{
new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs
{
Name = "PublicIPAddress",
PublicIpAddressId = examplePublicIp.Id,
},
},
});
var bpepool = new Azure.Lb.BackendAddressPool("bpepool", new Azure.Lb.BackendAddressPoolArgs
{
ResourceGroupName = exampleResourceGroup.Name,
LoadbalancerId = exampleLoadBalancer.Id,
});
var lbnatpool = new Azure.Lb.NatPool("lbnatpool", new Azure.Lb.NatPoolArgs
{
ResourceGroupName = exampleResourceGroup.Name,
LoadbalancerId = exampleLoadBalancer.Id,
Protocol = "Tcp",
FrontendPortStart = 50000,
FrontendPortEnd = 50119,
BackendPort = 22,
FrontendIpConfigurationName = "PublicIPAddress",
});
var exampleProbe = new Azure.Lb.Probe("exampleProbe", new Azure.Lb.ProbeArgs
{
ResourceGroupName = exampleResourceGroup.Name,
LoadbalancerId = exampleLoadBalancer.Id,
Protocol = "Http",
RequestPath = "/health",
Port = 8080,
});
var exampleScaleSet = new Azure.Compute.ScaleSet("exampleScaleSet", new Azure.Compute.ScaleSetArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
AutomaticOsUpgrade = true,
UpgradePolicyMode = "Rolling",
RollingUpgradePolicy = new Azure.Compute.Inputs.ScaleSetRollingUpgradePolicyArgs
{
MaxBatchInstancePercent = 20,
MaxUnhealthyInstancePercent = 20,
MaxUnhealthyUpgradedInstancePercent = 5,
PauseTimeBetweenBatches = "PT0S",
},
HealthProbeId = exampleProbe.Id,
Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs
{
Name = "Standard_F2",
Tier = "Standard",
Capacity = 2,
},
StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs
{
Publisher = "Canonical",
Offer = "UbuntuServer",
Sku = "16.04-LTS",
Version = "latest",
},
StorageProfileOsDisk = new Azure.Compute.Inputs.ScaleSetStorageProfileOsDiskArgs
{
Name = "",
Caching = "ReadWrite",
CreateOption = "FromImage",
ManagedDiskType = "Standard_LRS",
},
StorageProfileDataDisks =
{
new Azure.Compute.Inputs.ScaleSetStorageProfileDataDiskArgs
{
Lun = 0,
Caching = "ReadWrite",
CreateOption = "Empty",
DiskSizeGb = 10,
},
},
OsProfile = new Azure.Compute.Inputs.ScaleSetOsProfileArgs
{
ComputerNamePrefix = "testvm",
AdminUsername = "myadmin",
},
OsProfileLinuxConfig = new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigArgs
{
DisablePasswordAuthentication = true,
SshKeys =
{
new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs
{
Path = "/home/myadmin/.ssh/authorized_keys",
KeyData = File.ReadAllText("~/.ssh/demo_key.pub"),
},
},
},
NetworkProfiles =
{
new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs
{
Name = "mynetworkprofile",
Primary = true,
IpConfigurations =
{
new Azure.Compute.Inputs.ScaleSetNetworkProfileIpConfigurationArgs
{
Name = "TestIPConfiguration",
Primary = true,
SubnetId = exampleSubnet.Id,
LoadBalancerBackendAddressPoolIds =
{
bpepool.Id,
},
LoadBalancerInboundNatRulesIds =
{
lbnatpool.Id,
},
},
},
},
},
Tags =
{
{ "environment", "staging" },
},
});
}
}
package main
import (
"io/ioutil"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/lb"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func readFileOrPanic(path string) pulumi.StringPtrInput {
data, err := ioutil.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
}
examplePublicIp, err := network.NewPublicIp(ctx, "examplePublicIp", &network.PublicIpArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
AllocationMethod: pulumi.String("Static"),
DomainNameLabel: exampleResourceGroup.Name,
Tags: pulumi.StringMap{
"environment": pulumi.String("staging"),
},
})
if err != nil {
return err
}
exampleLoadBalancer, err := lb.NewLoadBalancer(ctx, "exampleLoadBalancer", &lb.LoadBalancerArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
FrontendIpConfigurations: lb.LoadBalancerFrontendIpConfigurationArray{
&lb.LoadBalancerFrontendIpConfigurationArgs{
Name: pulumi.String("PublicIPAddress"),
PublicIpAddressId: examplePublicIp.ID(),
},
},
})
if err != nil {
return err
}
bpepool, err := lb.NewBackendAddressPool(ctx, "bpepool", &lb.BackendAddressPoolArgs{
ResourceGroupName: exampleResourceGroup.Name,
LoadbalancerId: exampleLoadBalancer.ID(),
})
if err != nil {
return err
}
lbnatpool, err := lb.NewNatPool(ctx, "lbnatpool", &lb.NatPoolArgs{
ResourceGroupName: exampleResourceGroup.Name,
LoadbalancerId: exampleLoadBalancer.ID(),
Protocol: pulumi.String("Tcp"),
FrontendPortStart: pulumi.Int(50000),
FrontendPortEnd: pulumi.Int(50119),
BackendPort: pulumi.Int(22),
FrontendIpConfigurationName: pulumi.String("PublicIPAddress"),
})
if err != nil {
return err
}
exampleProbe, err := lb.NewProbe(ctx, "exampleProbe", &lb.ProbeArgs{
ResourceGroupName: exampleResourceGroup.Name,
LoadbalancerId: exampleLoadBalancer.ID(),
Protocol: pulumi.String("Http"),
RequestPath: pulumi.String("/health"),
Port: pulumi.Int(8080),
})
if err != nil {
return err
}
_, err = compute.NewScaleSet(ctx, "exampleScaleSet", &compute.ScaleSetArgs{
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
AutomaticOsUpgrade: pulumi.Bool(true),
UpgradePolicyMode: pulumi.String("Rolling"),
RollingUpgradePolicy: &compute.ScaleSetRollingUpgradePolicyArgs{
MaxBatchInstancePercent: pulumi.Int(20),
MaxUnhealthyInstancePercent: pulumi.Int(20),
MaxUnhealthyUpgradedInstancePercent: pulumi.Int(5),
PauseTimeBetweenBatches: pulumi.String("PT0S"),
},
HealthProbeId: exampleProbe.ID(),
Sku: &compute.ScaleSetSkuArgs{
Name: pulumi.String("Standard_F2"),
Tier: pulumi.String("Standard"),
Capacity: pulumi.Int(2),
},
StorageProfileImageReference: &compute.ScaleSetStorageProfileImageReferenceArgs{
Publisher: pulumi.String("Canonical"),
Offer: pulumi.String("UbuntuServer"),
Sku: pulumi.String("16.04-LTS"),
Version: pulumi.String("latest"),
},
StorageProfileOsDisk: &compute.ScaleSetStorageProfileOsDiskArgs{
Name: pulumi.String(""),
Caching: pulumi.String("ReadWrite"),
CreateOption: pulumi.String("FromImage"),
ManagedDiskType: pulumi.String("Standard_LRS"),
},
StorageProfileDataDisks: compute.ScaleSetStorageProfileDataDiskArray{
&compute.ScaleSetStorageProfileDataDiskArgs{
Lun: pulumi.Int(0),
Caching: pulumi.String("ReadWrite"),
CreateOption: pulumi.String("Empty"),
DiskSizeGb: pulumi.Int(10),
},
},
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("mynetworkprofile"),
Primary: pulumi.Bool(true),
IpConfigurations: compute.ScaleSetNetworkProfileIpConfigurationArray{
&compute.ScaleSetNetworkProfileIpConfigurationArgs{
Name: pulumi.String("TestIPConfiguration"),
Primary: pulumi.Bool(true),
SubnetId: exampleSubnet.ID(),
LoadBalancerBackendAddressPoolIds: pulumi.StringArray{
bpepool.ID(),
},
LoadBalancerInboundNatRulesIds: pulumi.StringArray{
lbnatpool.ID(),
},
},
},
},
},
Tags: pulumi.StringMap{
"environment": pulumi.String("staging"),
},
})
if err != nil {
return err
}
return nil
})
}
Example coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * 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 examplePublicIp = new azure.network.PublicIp("examplePublicIp", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
allocationMethod: "Static",
domainNameLabel: exampleResourceGroup.name,
tags: {
environment: "staging",
},
});
const exampleLoadBalancer = new azure.lb.LoadBalancer("exampleLoadBalancer", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
frontendIpConfigurations: [{
name: "PublicIPAddress",
publicIpAddressId: examplePublicIp.id,
}],
});
const bpepool = new azure.lb.BackendAddressPool("bpepool", {
resourceGroupName: exampleResourceGroup.name,
loadbalancerId: exampleLoadBalancer.id,
});
const lbnatpool = new azure.lb.NatPool("lbnatpool", {
resourceGroupName: exampleResourceGroup.name,
loadbalancerId: exampleLoadBalancer.id,
protocol: "Tcp",
frontendPortStart: 50000,
frontendPortEnd: 50119,
backendPort: 22,
frontendIpConfigurationName: "PublicIPAddress",
});
const exampleProbe = new azure.lb.Probe("exampleProbe", {
resourceGroupName: exampleResourceGroup.name,
loadbalancerId: exampleLoadBalancer.id,
protocol: "Http",
requestPath: "/health",
port: 8080,
});
const exampleScaleSet = new azure.compute.ScaleSet("exampleScaleSet", {
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
automaticOsUpgrade: true,
upgradePolicyMode: "Rolling",
rollingUpgradePolicy: {
maxBatchInstancePercent: 20,
maxUnhealthyInstancePercent: 20,
maxUnhealthyUpgradedInstancePercent: 5,
pauseTimeBetweenBatches: "PT0S",
},
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: fs.readFileSync("~/.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",
},
});
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_public_ip = azure.network.PublicIp("examplePublicIp",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
allocation_method="Static",
domain_name_label=example_resource_group.name,
tags={
"environment": "staging",
})
example_load_balancer = azure.lb.LoadBalancer("exampleLoadBalancer",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
frontend_ip_configurations=[azure.lb.LoadBalancerFrontendIpConfigurationArgs(
name="PublicIPAddress",
public_ip_address_id=example_public_ip.id,
)])
bpepool = azure.lb.BackendAddressPool("bpepool",
resource_group_name=example_resource_group.name,
loadbalancer_id=example_load_balancer.id)
lbnatpool = azure.lb.NatPool("lbnatpool",
resource_group_name=example_resource_group.name,
loadbalancer_id=example_load_balancer.id,
protocol="Tcp",
frontend_port_start=50000,
frontend_port_end=50119,
backend_port=22,
frontend_ip_configuration_name="PublicIPAddress")
example_probe = azure.lb.Probe("exampleProbe",
resource_group_name=example_resource_group.name,
loadbalancer_id=example_load_balancer.id,
protocol="Http",
request_path="/health",
port=8080)
example_scale_set = azure.compute.ScaleSet("exampleScaleSet",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
automatic_os_upgrade=True,
upgrade_policy_mode="Rolling",
rolling_upgrade_policy=azure.compute.ScaleSetRollingUpgradePolicyArgs(
max_batch_instance_percent=20,
max_unhealthy_instance_percent=20,
max_unhealthy_upgraded_instance_percent=5,
pause_time_between_batches="PT0S",
),
health_probe_id=example_probe.id,
sku=azure.compute.ScaleSetSkuArgs(
name="Standard_F2",
tier="Standard",
capacity=2,
),
storage_profile_image_reference=azure.compute.ScaleSetStorageProfileImageReferenceArgs(
publisher="Canonical",
offer="UbuntuServer",
sku="16.04-LTS",
version="latest",
),
storage_profile_os_disk=azure.compute.ScaleSetStorageProfileOsDiskArgs(
name="",
caching="ReadWrite",
create_option="FromImage",
managed_disk_type="Standard_LRS",
),
storage_profile_data_disks=[azure.compute.ScaleSetStorageProfileDataDiskArgs(
lun=0,
caching="ReadWrite",
create_option="Empty",
disk_size_gb=10,
)],
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="mynetworkprofile",
primary=True,
ip_configurations=[azure.compute.ScaleSetNetworkProfileIpConfigurationArgs(
name="TestIPConfiguration",
primary=True,
subnet_id=example_subnet.id,
load_balancer_backend_address_pool_ids=[bpepool.id],
load_balancer_inbound_nat_rules_ids=[lbnatpool.id],
)],
)],
tags={
"environment": "staging",
})
Example coming soon!
With Unmanaged Disks
using System.IO;
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("exampleVirtualNetwork", new Azure.Network.VirtualNetworkArgs
{
AddressSpaces =
{
"10.0.0.0/16",
},
Location = "West US",
ResourceGroupName = exampleResourceGroup.Name,
});
var exampleSubnet = new Azure.Network.Subnet("exampleSubnet", new Azure.Network.SubnetArgs
{
ResourceGroupName = exampleResourceGroup.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes =
{
"10.0.2.0/24",
},
});
var exampleAccount = new Azure.Storage.Account("exampleAccount", new Azure.Storage.AccountArgs
{
ResourceGroupName = exampleResourceGroup.Name,
Location = "westus",
AccountTier = "Standard",
AccountReplicationType = "LRS",
Tags =
{
{ "environment", "staging" },
},
});
var exampleContainer = new Azure.Storage.Container("exampleContainer", new Azure.Storage.ContainerArgs
{
StorageAccountName = exampleAccount.Name,
ContainerAccessType = "private",
});
var exampleScaleSet = new Azure.Compute.ScaleSet("exampleScaleSet", new Azure.Compute.ScaleSetArgs
{
Location = "West US",
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 Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs
{
Path = "/home/myadmin/.ssh/authorized_keys",
KeyData = File.ReadAllText("~/.ssh/demo_key.pub"),
},
},
},
NetworkProfiles =
{
new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs
{
Name = "TestNetworkProfile",
Primary = true,
IpConfigurations =
{
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 =
{
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"
"io/ioutil"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func readFileOrPanic(path string) pulumi.StringPtrInput {
data, err := ioutil.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: pulumi.String("West US"),
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: pulumi.String("westus"),
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: pulumi.String("West US"),
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
})
}
Example coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * 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: "West US",
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: "westus",
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: "West US",
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",
},
});
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="West US",
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="westus",
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="West US",
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",
))
Example coming soon!
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleImage = new Azure.Compute.Image("exampleImage", new Azure.Compute.ImageArgs
{
});
// ...
var exampleScaleSet = new Azure.Compute.ScaleSet("exampleScaleSet", new Azure.Compute.ScaleSetArgs
{
StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs
{
Id = exampleImage.Id,
},
});
// ...
}
}
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v4/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
})
}
Example coming soon!
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,
))
# ...
Example coming soon!
Create ScaleSet Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ScaleSet(name: string, args: ScaleSetArgs, opts?: CustomResourceOptions);@overload
def ScaleSet(resource_name: str,
args: ScaleSetArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ScaleSet(resource_name: str,
opts: Optional[ResourceOptions] = None,
network_profiles: Optional[Sequence[ScaleSetNetworkProfileArgs]] = None,
upgrade_policy_mode: Optional[str] = None,
storage_profile_os_disk: Optional[ScaleSetStorageProfileOsDiskArgs] = None,
sku: Optional[ScaleSetSkuArgs] = None,
resource_group_name: Optional[str] = None,
os_profile: Optional[ScaleSetOsProfileArgs] = None,
location: Optional[str] = None,
proximity_placement_group_id: Optional[str] = None,
name: Optional[str] = None,
license_type: Optional[str] = None,
identity: Optional[ScaleSetIdentityArgs] = 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,
automatic_os_upgrade: Optional[bool] = None,
health_probe_id: Optional[str] = None,
rolling_upgrade_policy: Optional[ScaleSetRollingUpgradePolicyArgs] = None,
single_placement_group: Optional[bool] = None,
extensions: Optional[Sequence[ScaleSetExtensionArgs]] = None,
storage_profile_data_disks: Optional[Sequence[ScaleSetStorageProfileDataDiskArgs]] = None,
storage_profile_image_reference: Optional[ScaleSetStorageProfileImageReferenceArgs] = None,
eviction_policy: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
boot_diagnostics: Optional[ScaleSetBootDiagnosticsArgs] = None,
zones: Optional[Sequence[str]] = 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.
Parameters
- 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.
Constructor example
The following reference example uses placeholder values for all input properties.
var scaleSetResource = new Azure.Compute.ScaleSet("scaleSetResource", new()
{
NetworkProfiles = new[]
{
new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs
{
IpConfigurations = new[]
{
new Azure.Compute.Inputs.ScaleSetNetworkProfileIpConfigurationArgs
{
Name = "string",
Primary = false,
SubnetId = "string",
ApplicationGatewayBackendAddressPoolIds = new[]
{
"string",
},
ApplicationSecurityGroupIds = new[]
{
"string",
},
LoadBalancerBackendAddressPoolIds = new[]
{
"string",
},
LoadBalancerInboundNatRulesIds = new[]
{
"string",
},
PublicIpAddressConfiguration = new Azure.Compute.Inputs.ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationArgs
{
DomainNameLabel = "string",
IdleTimeout = 0,
Name = "string",
},
},
},
Name = "string",
Primary = false,
AcceleratedNetworking = false,
DnsSettings = new Azure.Compute.Inputs.ScaleSetNetworkProfileDnsSettingsArgs
{
DnsServers = new[]
{
"string",
},
},
IpForwarding = false,
NetworkSecurityGroupId = "string",
},
},
UpgradePolicyMode = "string",
StorageProfileOsDisk = new Azure.Compute.Inputs.ScaleSetStorageProfileOsDiskArgs
{
CreateOption = "string",
Caching = "string",
Image = "string",
ManagedDiskType = "string",
Name = "string",
OsType = "string",
VhdContainers = new[]
{
"string",
},
},
Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs
{
Capacity = 0,
Name = "string",
Tier = "string",
},
ResourceGroupName = "string",
OsProfile = new Azure.Compute.Inputs.ScaleSetOsProfileArgs
{
AdminUsername = "string",
ComputerNamePrefix = "string",
AdminPassword = "string",
CustomData = "string",
},
Location = "string",
ProximityPlacementGroupId = "string",
Name = "string",
LicenseType = "string",
Identity = new Azure.Compute.Inputs.ScaleSetIdentityArgs
{
Type = "string",
IdentityIds = new[]
{
"string",
},
PrincipalId = "string",
},
OsProfileLinuxConfig = new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigArgs
{
DisablePasswordAuthentication = false,
SshKeys = new[]
{
new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs
{
Path = "string",
KeyData = "string",
},
},
},
OsProfileSecrets = new[]
{
new Azure.Compute.Inputs.ScaleSetOsProfileSecretArgs
{
SourceVaultId = "string",
VaultCertificates = new[]
{
new Azure.Compute.Inputs.ScaleSetOsProfileSecretVaultCertificateArgs
{
CertificateUrl = "string",
CertificateStore = "string",
},
},
},
},
OsProfileWindowsConfig = new Azure.Compute.Inputs.ScaleSetOsProfileWindowsConfigArgs
{
AdditionalUnattendConfigs = new[]
{
new Azure.Compute.Inputs.ScaleSetOsProfileWindowsConfigAdditionalUnattendConfigArgs
{
Component = "string",
Content = "string",
Pass = "string",
SettingName = "string",
},
},
EnableAutomaticUpgrades = false,
ProvisionVmAgent = false,
Winrms = new[]
{
new Azure.Compute.Inputs.ScaleSetOsProfileWindowsConfigWinrmArgs
{
Protocol = "string",
CertificateUrl = "string",
},
},
},
Overprovision = false,
Plan = new Azure.Compute.Inputs.ScaleSetPlanArgs
{
Name = "string",
Product = "string",
Publisher = "string",
},
Priority = "string",
AutomaticOsUpgrade = false,
HealthProbeId = "string",
RollingUpgradePolicy = new Azure.Compute.Inputs.ScaleSetRollingUpgradePolicyArgs
{
MaxBatchInstancePercent = 0,
MaxUnhealthyInstancePercent = 0,
MaxUnhealthyUpgradedInstancePercent = 0,
PauseTimeBetweenBatches = "string",
},
SinglePlacementGroup = false,
Extensions = new[]
{
new Azure.Compute.Inputs.ScaleSetExtensionArgs
{
Name = "string",
Publisher = "string",
Type = "string",
TypeHandlerVersion = "string",
AutoUpgradeMinorVersion = false,
ProtectedSettings = "string",
ProvisionAfterExtensions = new[]
{
"string",
},
Settings = "string",
},
},
StorageProfileDataDisks = new[]
{
new Azure.Compute.Inputs.ScaleSetStorageProfileDataDiskArgs
{
CreateOption = "string",
Lun = 0,
Caching = "string",
DiskSizeGb = 0,
ManagedDiskType = "string",
},
},
StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs
{
Id = "string",
Offer = "string",
Publisher = "string",
Sku = "string",
Version = "string",
},
EvictionPolicy = "string",
Tags =
{
{ "string", "string" },
},
BootDiagnostics = new Azure.Compute.Inputs.ScaleSetBootDiagnosticsArgs
{
StorageUri = "string",
Enabled = false,
},
Zones = new[]
{
"string",
},
});
example, err := compute.NewScaleSet(ctx, "scaleSetResource", &compute.ScaleSetArgs{
NetworkProfiles: compute.ScaleSetNetworkProfileArray{
&compute.ScaleSetNetworkProfileArgs{
IpConfigurations: compute.ScaleSetNetworkProfileIpConfigurationArray{
&compute.ScaleSetNetworkProfileIpConfigurationArgs{
Name: pulumi.String("string"),
Primary: pulumi.Bool(false),
SubnetId: pulumi.String("string"),
ApplicationGatewayBackendAddressPoolIds: pulumi.StringArray{
pulumi.String("string"),
},
ApplicationSecurityGroupIds: pulumi.StringArray{
pulumi.String("string"),
},
LoadBalancerBackendAddressPoolIds: pulumi.StringArray{
pulumi.String("string"),
},
LoadBalancerInboundNatRulesIds: pulumi.StringArray{
pulumi.String("string"),
},
PublicIpAddressConfiguration: &compute.ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationArgs{
DomainNameLabel: pulumi.String("string"),
IdleTimeout: pulumi.Int(0),
Name: pulumi.String("string"),
},
},
},
Name: pulumi.String("string"),
Primary: pulumi.Bool(false),
AcceleratedNetworking: pulumi.Bool(false),
DnsSettings: &compute.ScaleSetNetworkProfileDnsSettingsArgs{
DnsServers: pulumi.StringArray{
pulumi.String("string"),
},
},
IpForwarding: pulumi.Bool(false),
NetworkSecurityGroupId: pulumi.String("string"),
},
},
UpgradePolicyMode: pulumi.String("string"),
StorageProfileOsDisk: &compute.ScaleSetStorageProfileOsDiskArgs{
CreateOption: pulumi.String("string"),
Caching: pulumi.String("string"),
Image: pulumi.String("string"),
ManagedDiskType: pulumi.String("string"),
Name: pulumi.String("string"),
OsType: pulumi.String("string"),
VhdContainers: pulumi.StringArray{
pulumi.String("string"),
},
},
Sku: &compute.ScaleSetSkuArgs{
Capacity: pulumi.Int(0),
Name: pulumi.String("string"),
Tier: pulumi.String("string"),
},
ResourceGroupName: pulumi.String("string"),
OsProfile: &compute.ScaleSetOsProfileArgs{
AdminUsername: pulumi.String("string"),
ComputerNamePrefix: pulumi.String("string"),
AdminPassword: pulumi.String("string"),
CustomData: pulumi.String("string"),
},
Location: pulumi.String("string"),
ProximityPlacementGroupId: pulumi.String("string"),
Name: pulumi.String("string"),
LicenseType: pulumi.String("string"),
Identity: &compute.ScaleSetIdentityArgs{
Type: pulumi.String("string"),
IdentityIds: pulumi.StringArray{
pulumi.String("string"),
},
PrincipalId: pulumi.String("string"),
},
OsProfileLinuxConfig: &compute.ScaleSetOsProfileLinuxConfigArgs{
DisablePasswordAuthentication: pulumi.Bool(false),
SshKeys: compute.ScaleSetOsProfileLinuxConfigSshKeyArray{
&compute.ScaleSetOsProfileLinuxConfigSshKeyArgs{
Path: pulumi.String("string"),
KeyData: pulumi.String("string"),
},
},
},
OsProfileSecrets: compute.ScaleSetOsProfileSecretArray{
&compute.ScaleSetOsProfileSecretArgs{
SourceVaultId: pulumi.String("string"),
VaultCertificates: compute.ScaleSetOsProfileSecretVaultCertificateArray{
&compute.ScaleSetOsProfileSecretVaultCertificateArgs{
CertificateUrl: pulumi.String("string"),
CertificateStore: pulumi.String("string"),
},
},
},
},
OsProfileWindowsConfig: &compute.ScaleSetOsProfileWindowsConfigArgs{
AdditionalUnattendConfigs: compute.ScaleSetOsProfileWindowsConfigAdditionalUnattendConfigArray{
&compute.ScaleSetOsProfileWindowsConfigAdditionalUnattendConfigArgs{
Component: pulumi.String("string"),
Content: pulumi.String("string"),
Pass: pulumi.String("string"),
SettingName: pulumi.String("string"),
},
},
EnableAutomaticUpgrades: pulumi.Bool(false),
ProvisionVmAgent: pulumi.Bool(false),
Winrms: compute.ScaleSetOsProfileWindowsConfigWinrmArray{
&compute.ScaleSetOsProfileWindowsConfigWinrmArgs{
Protocol: pulumi.String("string"),
CertificateUrl: pulumi.String("string"),
},
},
},
Overprovision: pulumi.Bool(false),
Plan: &compute.ScaleSetPlanArgs{
Name: pulumi.String("string"),
Product: pulumi.String("string"),
Publisher: pulumi.String("string"),
},
Priority: pulumi.String("string"),
AutomaticOsUpgrade: pulumi.Bool(false),
HealthProbeId: pulumi.String("string"),
RollingUpgradePolicy: &compute.ScaleSetRollingUpgradePolicyArgs{
MaxBatchInstancePercent: pulumi.Int(0),
MaxUnhealthyInstancePercent: pulumi.Int(0),
MaxUnhealthyUpgradedInstancePercent: pulumi.Int(0),
PauseTimeBetweenBatches: pulumi.String("string"),
},
SinglePlacementGroup: pulumi.Bool(false),
Extensions: compute.ScaleSetExtensionArray{
&compute.ScaleSetExtensionArgs{
Name: pulumi.String("string"),
Publisher: pulumi.String("string"),
Type: pulumi.String("string"),
TypeHandlerVersion: pulumi.String("string"),
AutoUpgradeMinorVersion: pulumi.Bool(false),
ProtectedSettings: pulumi.String("string"),
ProvisionAfterExtensions: pulumi.StringArray{
pulumi.String("string"),
},
Settings: pulumi.String("string"),
},
},
StorageProfileDataDisks: compute.ScaleSetStorageProfileDataDiskArray{
&compute.ScaleSetStorageProfileDataDiskArgs{
CreateOption: pulumi.String("string"),
Lun: pulumi.Int(0),
Caching: pulumi.String("string"),
DiskSizeGb: pulumi.Int(0),
ManagedDiskType: pulumi.String("string"),
},
},
StorageProfileImageReference: &compute.ScaleSetStorageProfileImageReferenceArgs{
Id: pulumi.String("string"),
Offer: pulumi.String("string"),
Publisher: pulumi.String("string"),
Sku: pulumi.String("string"),
Version: pulumi.String("string"),
},
EvictionPolicy: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
BootDiagnostics: &compute.ScaleSetBootDiagnosticsArgs{
StorageUri: pulumi.String("string"),
Enabled: pulumi.Bool(false),
},
Zones: pulumi.StringArray{
pulumi.String("string"),
},
})
var scaleSetResource = new ScaleSet("scaleSetResource", ScaleSetArgs.builder()
.networkProfiles(ScaleSetNetworkProfileArgs.builder()
.ipConfigurations(ScaleSetNetworkProfileIpConfigurationArgs.builder()
.name("string")
.primary(false)
.subnetId("string")
.applicationGatewayBackendAddressPoolIds("string")
.applicationSecurityGroupIds("string")
.loadBalancerBackendAddressPoolIds("string")
.loadBalancerInboundNatRulesIds("string")
.publicIpAddressConfiguration(ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationArgs.builder()
.domainNameLabel("string")
.idleTimeout(0)
.name("string")
.build())
.build())
.name("string")
.primary(false)
.acceleratedNetworking(false)
.dnsSettings(ScaleSetNetworkProfileDnsSettingsArgs.builder()
.dnsServers("string")
.build())
.ipForwarding(false)
.networkSecurityGroupId("string")
.build())
.upgradePolicyMode("string")
.storageProfileOsDisk(ScaleSetStorageProfileOsDiskArgs.builder()
.createOption("string")
.caching("string")
.image("string")
.managedDiskType("string")
.name("string")
.osType("string")
.vhdContainers("string")
.build())
.sku(ScaleSetSkuArgs.builder()
.capacity(0)
.name("string")
.tier("string")
.build())
.resourceGroupName("string")
.osProfile(ScaleSetOsProfileArgs.builder()
.adminUsername("string")
.computerNamePrefix("string")
.adminPassword("string")
.customData("string")
.build())
.location("string")
.proximityPlacementGroupId("string")
.name("string")
.licenseType("string")
.identity(ScaleSetIdentityArgs.builder()
.type("string")
.identityIds("string")
.principalId("string")
.build())
.osProfileLinuxConfig(ScaleSetOsProfileLinuxConfigArgs.builder()
.disablePasswordAuthentication(false)
.sshKeys(ScaleSetOsProfileLinuxConfigSshKeyArgs.builder()
.path("string")
.keyData("string")
.build())
.build())
.osProfileSecrets(ScaleSetOsProfileSecretArgs.builder()
.sourceVaultId("string")
.vaultCertificates(ScaleSetOsProfileSecretVaultCertificateArgs.builder()
.certificateUrl("string")
.certificateStore("string")
.build())
.build())
.osProfileWindowsConfig(ScaleSetOsProfileWindowsConfigArgs.builder()
.additionalUnattendConfigs(ScaleSetOsProfileWindowsConfigAdditionalUnattendConfigArgs.builder()
.component("string")
.content("string")
.pass("string")
.settingName("string")
.build())
.enableAutomaticUpgrades(false)
.provisionVmAgent(false)
.winrms(ScaleSetOsProfileWindowsConfigWinrmArgs.builder()
.protocol("string")
.certificateUrl("string")
.build())
.build())
.overprovision(false)
.plan(ScaleSetPlanArgs.builder()
.name("string")
.product("string")
.publisher("string")
.build())
.priority("string")
.automaticOsUpgrade(false)
.healthProbeId("string")
.rollingUpgradePolicy(ScaleSetRollingUpgradePolicyArgs.builder()
.maxBatchInstancePercent(0)
.maxUnhealthyInstancePercent(0)
.maxUnhealthyUpgradedInstancePercent(0)
.pauseTimeBetweenBatches("string")
.build())
.singlePlacementGroup(false)
.extensions(ScaleSetExtensionArgs.builder()
.name("string")
.publisher("string")
.type("string")
.typeHandlerVersion("string")
.autoUpgradeMinorVersion(false)
.protectedSettings("string")
.provisionAfterExtensions("string")
.settings("string")
.build())
.storageProfileDataDisks(ScaleSetStorageProfileDataDiskArgs.builder()
.createOption("string")
.lun(0)
.caching("string")
.diskSizeGb(0)
.managedDiskType("string")
.build())
.storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()
.id("string")
.offer("string")
.publisher("string")
.sku("string")
.version("string")
.build())
.evictionPolicy("string")
.tags(Map.of("string", "string"))
.bootDiagnostics(ScaleSetBootDiagnosticsArgs.builder()
.storageUri("string")
.enabled(false)
.build())
.zones("string")
.build());
scale_set_resource = azure.compute.ScaleSet("scaleSetResource",
network_profiles=[{
"ip_configurations": [{
"name": "string",
"primary": False,
"subnet_id": "string",
"application_gateway_backend_address_pool_ids": ["string"],
"application_security_group_ids": ["string"],
"load_balancer_backend_address_pool_ids": ["string"],
"load_balancer_inbound_nat_rules_ids": ["string"],
"public_ip_address_configuration": {
"domain_name_label": "string",
"idle_timeout": 0,
"name": "string",
},
}],
"name": "string",
"primary": False,
"accelerated_networking": False,
"dns_settings": {
"dns_servers": ["string"],
},
"ip_forwarding": False,
"network_security_group_id": "string",
}],
upgrade_policy_mode="string",
storage_profile_os_disk={
"create_option": "string",
"caching": "string",
"image": "string",
"managed_disk_type": "string",
"name": "string",
"os_type": "string",
"vhd_containers": ["string"],
},
sku={
"capacity": 0,
"name": "string",
"tier": "string",
},
resource_group_name="string",
os_profile={
"admin_username": "string",
"computer_name_prefix": "string",
"admin_password": "string",
"custom_data": "string",
},
location="string",
proximity_placement_group_id="string",
name="string",
license_type="string",
identity={
"type": "string",
"identity_ids": ["string"],
"principal_id": "string",
},
os_profile_linux_config={
"disable_password_authentication": False,
"ssh_keys": [{
"path": "string",
"key_data": "string",
}],
},
os_profile_secrets=[{
"source_vault_id": "string",
"vault_certificates": [{
"certificate_url": "string",
"certificate_store": "string",
}],
}],
os_profile_windows_config={
"additional_unattend_configs": [{
"component": "string",
"content": "string",
"pass_": "string",
"setting_name": "string",
}],
"enable_automatic_upgrades": False,
"provision_vm_agent": False,
"winrms": [{
"protocol": "string",
"certificate_url": "string",
}],
},
overprovision=False,
plan={
"name": "string",
"product": "string",
"publisher": "string",
},
priority="string",
automatic_os_upgrade=False,
health_probe_id="string",
rolling_upgrade_policy={
"max_batch_instance_percent": 0,
"max_unhealthy_instance_percent": 0,
"max_unhealthy_upgraded_instance_percent": 0,
"pause_time_between_batches": "string",
},
single_placement_group=False,
extensions=[{
"name": "string",
"publisher": "string",
"type": "string",
"type_handler_version": "string",
"auto_upgrade_minor_version": False,
"protected_settings": "string",
"provision_after_extensions": ["string"],
"settings": "string",
}],
storage_profile_data_disks=[{
"create_option": "string",
"lun": 0,
"caching": "string",
"disk_size_gb": 0,
"managed_disk_type": "string",
}],
storage_profile_image_reference={
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string",
},
eviction_policy="string",
tags={
"string": "string",
},
boot_diagnostics={
"storage_uri": "string",
"enabled": False,
},
zones=["string"])
const scaleSetResource = new azure.compute.ScaleSet("scaleSetResource", {
networkProfiles: [{
ipConfigurations: [{
name: "string",
primary: false,
subnetId: "string",
applicationGatewayBackendAddressPoolIds: ["string"],
applicationSecurityGroupIds: ["string"],
loadBalancerBackendAddressPoolIds: ["string"],
loadBalancerInboundNatRulesIds: ["string"],
publicIpAddressConfiguration: {
domainNameLabel: "string",
idleTimeout: 0,
name: "string",
},
}],
name: "string",
primary: false,
acceleratedNetworking: false,
dnsSettings: {
dnsServers: ["string"],
},
ipForwarding: false,
networkSecurityGroupId: "string",
}],
upgradePolicyMode: "string",
storageProfileOsDisk: {
createOption: "string",
caching: "string",
image: "string",
managedDiskType: "string",
name: "string",
osType: "string",
vhdContainers: ["string"],
},
sku: {
capacity: 0,
name: "string",
tier: "string",
},
resourceGroupName: "string",
osProfile: {
adminUsername: "string",
computerNamePrefix: "string",
adminPassword: "string",
customData: "string",
},
location: "string",
proximityPlacementGroupId: "string",
name: "string",
licenseType: "string",
identity: {
type: "string",
identityIds: ["string"],
principalId: "string",
},
osProfileLinuxConfig: {
disablePasswordAuthentication: false,
sshKeys: [{
path: "string",
keyData: "string",
}],
},
osProfileSecrets: [{
sourceVaultId: "string",
vaultCertificates: [{
certificateUrl: "string",
certificateStore: "string",
}],
}],
osProfileWindowsConfig: {
additionalUnattendConfigs: [{
component: "string",
content: "string",
pass: "string",
settingName: "string",
}],
enableAutomaticUpgrades: false,
provisionVmAgent: false,
winrms: [{
protocol: "string",
certificateUrl: "string",
}],
},
overprovision: false,
plan: {
name: "string",
product: "string",
publisher: "string",
},
priority: "string",
automaticOsUpgrade: false,
healthProbeId: "string",
rollingUpgradePolicy: {
maxBatchInstancePercent: 0,
maxUnhealthyInstancePercent: 0,
maxUnhealthyUpgradedInstancePercent: 0,
pauseTimeBetweenBatches: "string",
},
singlePlacementGroup: false,
extensions: [{
name: "string",
publisher: "string",
type: "string",
typeHandlerVersion: "string",
autoUpgradeMinorVersion: false,
protectedSettings: "string",
provisionAfterExtensions: ["string"],
settings: "string",
}],
storageProfileDataDisks: [{
createOption: "string",
lun: 0,
caching: "string",
diskSizeGb: 0,
managedDiskType: "string",
}],
storageProfileImageReference: {
id: "string",
offer: "string",
publisher: "string",
sku: "string",
version: "string",
},
evictionPolicy: "string",
tags: {
string: "string",
},
bootDiagnostics: {
storageUri: "string",
enabled: false,
},
zones: ["string"],
});
type: azure:compute:ScaleSet
properties:
automaticOsUpgrade: false
bootDiagnostics:
enabled: false
storageUri: string
evictionPolicy: string
extensions:
- autoUpgradeMinorVersion: false
name: string
protectedSettings: string
provisionAfterExtensions:
- string
publisher: string
settings: string
type: string
typeHandlerVersion: string
healthProbeId: string
identity:
identityIds:
- string
principalId: string
type: string
licenseType: string
location: string
name: string
networkProfiles:
- acceleratedNetworking: false
dnsSettings:
dnsServers:
- string
ipConfigurations:
- applicationGatewayBackendAddressPoolIds:
- string
applicationSecurityGroupIds:
- string
loadBalancerBackendAddressPoolIds:
- string
loadBalancerInboundNatRulesIds:
- string
name: string
primary: false
publicIpAddressConfiguration:
domainNameLabel: string
idleTimeout: 0
name: string
subnetId: string
ipForwarding: false
name: string
networkSecurityGroupId: string
primary: false
osProfile:
adminPassword: string
adminUsername: string
computerNamePrefix: string
customData: string
osProfileLinuxConfig:
disablePasswordAuthentication: false
sshKeys:
- keyData: string
path: string
osProfileSecrets:
- sourceVaultId: string
vaultCertificates:
- certificateStore: string
certificateUrl: string
osProfileWindowsConfig:
additionalUnattendConfigs:
- component: string
content: string
pass: string
settingName: string
enableAutomaticUpgrades: false
provisionVmAgent: false
winrms:
- certificateUrl: string
protocol: string
overprovision: false
plan:
name: string
product: string
publisher: string
priority: string
proximityPlacementGroupId: string
resourceGroupName: string
rollingUpgradePolicy:
maxBatchInstancePercent: 0
maxUnhealthyInstancePercent: 0
maxUnhealthyUpgradedInstancePercent: 0
pauseTimeBetweenBatches: string
singlePlacementGroup: false
sku:
capacity: 0
name: string
tier: string
storageProfileDataDisks:
- caching: string
createOption: string
diskSizeGb: 0
lun: 0
managedDiskType: string
storageProfileImageReference:
id: string
offer: string
publisher: string
sku: string
version: string
storageProfileOsDisk:
caching: string
createOption: string
image: string
managedDiskType: string
name: string
osType: string
vhdContainers:
- string
tags:
string: string
upgradePolicyMode: string
zones:
- string
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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ScaleSet resource accepts the following input properties:
- Network
Profiles List<ScaleSet Network Profile> - A collection of network profile block as documented below.
- Os
Profile ScaleSet Os Profile - A Virtual Machine OS Profile block as documented below.
- Resource
Group stringName - 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
Scale
Set Sku - A sku block as documented below.
- Storage
Profile ScaleOs Disk Set Storage Profile Os Disk - A storage profile os disk block as documented below
- Upgrade
Policy stringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - Automatic
Os boolUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - Boot
Diagnostics ScaleSet Boot Diagnostics - A boot diagnostics profile block as referenced below.
- Eviction
Policy string - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - Extensions
List<Scale
Set Extension> - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - Health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - Identity
Scale
Set Identity - License
Type string - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- Os
Profile ScaleLinux Config Set Os Profile Linux Config - A Linux config block as documented below.
- Os
Profile List<ScaleSecrets Set Os Profile Secret> - A collection of Secret blocks as documented below.
- Os
Profile ScaleWindows Config Set Os Profile Windows Config - A Windows config block as documented below.
- Overprovision bool
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - Plan
Scale
Set Plan - A plan block as documented below.
- Priority string
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - Proximity
Placement stringGroup Id - 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 ScalePolicy Set Rolling Upgrade Policy - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - Single
Placement boolGroup - 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 List<ScaleData Disks Set Storage Profile Data Disk> - A storage profile data disk block as documented below
- Storage
Profile ScaleImage Reference Set Storage Profile Image Reference - A storage profile image reference block as documented below.
- 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.
- Network
Profiles []ScaleSet Network Profile Args - A collection of network profile block as documented below.
- Os
Profile ScaleSet Os Profile Args - A Virtual Machine OS Profile block as documented below.
- Resource
Group stringName - 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
Scale
Set Sku Args - A sku block as documented below.
- Storage
Profile ScaleOs Disk Set Storage Profile Os Disk Args - A storage profile os disk block as documented below
- Upgrade
Policy stringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - Automatic
Os boolUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - Boot
Diagnostics ScaleSet Boot Diagnostics Args - A boot diagnostics profile block as referenced below.
- Eviction
Policy string - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - Extensions
[]Scale
Set Extension Args - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - Health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - Identity
Scale
Set Identity Args - License
Type string - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- Os
Profile ScaleLinux Config Set Os Profile Linux Config Args - A Linux config block as documented below.
- Os
Profile []ScaleSecrets Set Os Profile Secret Args - A collection of Secret blocks as documented below.
- Os
Profile ScaleWindows Config Set Os Profile Windows Config Args - A Windows config block as documented below.
- Overprovision bool
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - Plan
Scale
Set Plan Args - A plan block as documented below.
- Priority string
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - Proximity
Placement stringGroup Id - 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 ScalePolicy Set Rolling Upgrade Policy Args - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - Single
Placement boolGroup - 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 []ScaleData Disks Set Storage Profile Data Disk Args - A storage profile data disk block as documented below
- Storage
Profile ScaleImage Reference Set Storage Profile Image Reference Args - A storage profile image reference block as documented below.
- 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.
- network
Profiles List<ScaleSet Network Profile> - A collection of network profile block as documented below.
- os
Profile ScaleSet Os Profile - A Virtual Machine OS Profile block as documented below.
- resource
Group StringName - 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
Scale
Set Sku - A sku block as documented below.
- storage
Profile ScaleOs Disk Set Storage Profile Os Disk - A storage profile os disk block as documented below
- upgrade
Policy StringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - automatic
Os BooleanUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - boot
Diagnostics ScaleSet Boot Diagnostics - A boot diagnostics profile block as referenced below.
- eviction
Policy String - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - extensions
List<Scale
Set Extension> - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - health
Probe StringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - identity
Scale
Set Identity - license
Type String - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- os
Profile ScaleLinux Config Set Os Profile Linux Config - A Linux config block as documented below.
- os
Profile List<ScaleSecrets Set Os Profile Secret> - A collection of Secret blocks as documented below.
- os
Profile ScaleWindows Config Set Os Profile Windows Config - A Windows config block as documented below.
- overprovision Boolean
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - plan
Scale
Set Plan - A plan block as documented below.
- priority String
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - proximity
Placement StringGroup Id - 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 ScalePolicy Set Rolling Upgrade Policy - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - single
Placement BooleanGroup - 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 List<ScaleData Disks Set Storage Profile Data Disk> - A storage profile data disk block as documented below
- storage
Profile ScaleImage Reference Set Storage Profile Image Reference - A storage profile image reference block as documented below.
- 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.
- network
Profiles ScaleSet Network Profile[] - A collection of network profile block as documented below.
- os
Profile ScaleSet Os Profile - A Virtual Machine OS Profile block as documented below.
- resource
Group stringName - 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
Scale
Set Sku - A sku block as documented below.
- storage
Profile ScaleOs Disk Set Storage Profile Os Disk - A storage profile os disk block as documented below
- upgrade
Policy stringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - automatic
Os booleanUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - boot
Diagnostics ScaleSet Boot Diagnostics - A boot diagnostics profile block as referenced below.
- eviction
Policy string - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - extensions
Scale
Set Extension[] - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - identity
Scale
Set Identity - license
Type string - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- os
Profile ScaleLinux Config Set Os Profile Linux Config - A Linux config block as documented below.
- os
Profile ScaleSecrets Set Os Profile Secret[] - A collection of Secret blocks as documented below.
- os
Profile ScaleWindows Config Set Os Profile Windows Config - A Windows config block as documented below.
- overprovision boolean
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - plan
Scale
Set Plan - A plan block as documented below.
- priority string
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - proximity
Placement stringGroup Id - 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 ScalePolicy Set Rolling Upgrade Policy - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - single
Placement booleanGroup - 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 ScaleData Disks Set Storage Profile Data Disk[] - A storage profile data disk block as documented below
- storage
Profile ScaleImage Reference Set Storage Profile Image Reference - A storage profile image reference block as documented below.
- {[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.
- network_
profiles Sequence[ScaleSet Network Profile Args] - A collection of network profile block as documented below.
- os_
profile ScaleSet Os Profile Args - A Virtual Machine OS Profile block as documented below.
- resource_
group_ strname - 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
Scale
Set Sku Args - A sku block as documented below.
- storage_
profile_ Scaleos_ disk Set Storage Profile Os Disk Args - A storage profile os disk block as documented below
- upgrade_
policy_ strmode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - automatic_
os_ boolupgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - boot_
diagnostics ScaleSet Boot Diagnostics Args - 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
DeallocateandDelete. - extensions
Sequence[Scale
Set Extension Args] - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - health_
probe_ strid - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - identity
Scale
Set Identity Args - license_
type str - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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_ Scalelinux_ config Set Os Profile Linux Config Args - A Linux config block as documented below.
- os_
profile_ Sequence[Scalesecrets Set Os Profile Secret Args] - A collection of Secret blocks as documented below.
- os_
profile_ Scalewindows_ config Set Os Profile Windows Config Args - A Windows config block as documented below.
- overprovision bool
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - plan
Scale
Set Plan Args - A plan block as documented below.
- priority str
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - proximity_
placement_ strgroup_ id - 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_ Scalepolicy Set Rolling Upgrade Policy Args - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - single_
placement_ boolgroup - 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_ Sequence[Scaledata_ disks Set Storage Profile Data Disk Args] - A storage profile data disk block as documented below
- storage_
profile_ Scaleimage_ reference Set Storage Profile Image Reference Args - A storage profile image reference block as documented below.
- 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.
- network
Profiles List<Property Map> - A collection of network profile block as documented below.
- os
Profile Property Map - A Virtual Machine OS Profile block as documented below.
- resource
Group StringName - 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.
- storage
Profile Property MapOs Disk - A storage profile os disk block as documented below
- upgrade
Policy StringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - automatic
Os BooleanUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - boot
Diagnostics Property Map - A boot diagnostics profile block as referenced below.
- eviction
Policy String - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - extensions List<Property Map>
- Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - health
Probe StringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - identity Property Map
- license
Type String - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- os
Profile Property MapLinux Config - A Linux config block as documented below.
- os
Profile List<Property Map>Secrets - A collection of Secret blocks as documented below.
- os
Profile Property MapWindows Config - 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. Defaults to
Regular. Possible values areLowandRegular. - proximity
Placement StringGroup Id - 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 Property MapPolicy - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - single
Placement BooleanGroup - 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 List<Property Map>Data Disks - A storage profile data disk block as documented below
- storage
Profile Property MapImage Reference - A storage profile image reference block as documented below.
- 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.
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) -> ScaleSetfunc 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)resources: _: type: azure:compute:ScaleSet get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Automatic
Os boolUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - Boot
Diagnostics ScaleSet Boot Diagnostics - A boot diagnostics profile block as referenced below.
- Eviction
Policy string - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - Extensions
List<Scale
Set Extension> - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - Health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - Identity
Scale
Set Identity - License
Type string - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- Network
Profiles List<ScaleSet Network Profile> - A collection of network profile block as documented below.
- Os
Profile ScaleSet Os Profile - A Virtual Machine OS Profile block as documented below.
- Os
Profile ScaleLinux Config Set Os Profile Linux Config - A Linux config block as documented below.
- Os
Profile List<ScaleSecrets Set Os Profile Secret> - A collection of Secret blocks as documented below.
- Os
Profile ScaleWindows Config Set Os Profile Windows Config - A Windows config block as documented below.
- Overprovision bool
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - Plan
Scale
Set Plan - A plan block as documented below.
- Priority string
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - Proximity
Placement stringGroup Id - 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 stringName - 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 ScalePolicy Set Rolling Upgrade Policy - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - Single
Placement boolGroup - 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
Scale
Set Sku - A sku block as documented below.
- Storage
Profile List<ScaleData Disks Set Storage Profile Data Disk> - A storage profile data disk block as documented below
- Storage
Profile ScaleImage Reference Set Storage Profile Image Reference - A storage profile image reference block as documented below.
- Storage
Profile ScaleOs Disk Set Storage Profile Os Disk - A storage profile os disk block as documented below
- Dictionary<string, string>
- A mapping of tags to assign to the resource.
- Upgrade
Policy stringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - Zones List<string>
- A collection of availability zones to spread the Virtual Machines over.
- Automatic
Os boolUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - Boot
Diagnostics ScaleSet Boot Diagnostics Args - A boot diagnostics profile block as referenced below.
- Eviction
Policy string - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - Extensions
[]Scale
Set Extension Args - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - Health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - Identity
Scale
Set Identity Args - License
Type string - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- Network
Profiles []ScaleSet Network Profile Args - A collection of network profile block as documented below.
- Os
Profile ScaleSet Os Profile Args - A Virtual Machine OS Profile block as documented below.
- Os
Profile ScaleLinux Config Set Os Profile Linux Config Args - A Linux config block as documented below.
- Os
Profile []ScaleSecrets Set Os Profile Secret Args - A collection of Secret blocks as documented below.
- Os
Profile ScaleWindows Config Set Os Profile Windows Config Args - A Windows config block as documented below.
- Overprovision bool
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - Plan
Scale
Set Plan Args - A plan block as documented below.
- Priority string
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - Proximity
Placement stringGroup Id - 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 stringName - 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 ScalePolicy Set Rolling Upgrade Policy Args - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - Single
Placement boolGroup - 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
Scale
Set Sku Args - A sku block as documented below.
- Storage
Profile []ScaleData Disks Set Storage Profile Data Disk Args - A storage profile data disk block as documented below
- Storage
Profile ScaleImage Reference Set Storage Profile Image Reference Args - A storage profile image reference block as documented below.
- Storage
Profile ScaleOs Disk Set Storage Profile Os Disk Args - A storage profile os disk block as documented below
- map[string]string
- A mapping of tags to assign to the resource.
- Upgrade
Policy stringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - Zones []string
- A collection of availability zones to spread the Virtual Machines over.
- automatic
Os BooleanUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - boot
Diagnostics ScaleSet Boot Diagnostics - A boot diagnostics profile block as referenced below.
- eviction
Policy String - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - extensions
List<Scale
Set Extension> - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - health
Probe StringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - identity
Scale
Set Identity - license
Type String - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- network
Profiles List<ScaleSet Network Profile> - A collection of network profile block as documented below.
- os
Profile ScaleSet Os Profile - A Virtual Machine OS Profile block as documented below.
- os
Profile ScaleLinux Config Set Os Profile Linux Config - A Linux config block as documented below.
- os
Profile List<ScaleSecrets Set Os Profile Secret> - A collection of Secret blocks as documented below.
- os
Profile ScaleWindows Config Set Os Profile Windows Config - A Windows config block as documented below.
- overprovision Boolean
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - plan
Scale
Set Plan - A plan block as documented below.
- priority String
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - proximity
Placement StringGroup Id - 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 StringName - 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 ScalePolicy Set Rolling Upgrade Policy - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - single
Placement BooleanGroup - 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
Scale
Set Sku - A sku block as documented below.
- storage
Profile List<ScaleData Disks Set Storage Profile Data Disk> - A storage profile data disk block as documented below
- storage
Profile ScaleImage Reference Set Storage Profile Image Reference - A storage profile image reference block as documented below.
- storage
Profile ScaleOs Disk Set Storage Profile Os Disk - A storage profile os disk block as documented below
- Map<String,String>
- A mapping of tags to assign to the resource.
- upgrade
Policy StringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - zones List<String>
- A collection of availability zones to spread the Virtual Machines over.
- automatic
Os booleanUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - boot
Diagnostics ScaleSet Boot Diagnostics - A boot diagnostics profile block as referenced below.
- eviction
Policy string - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - extensions
Scale
Set Extension[] - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - identity
Scale
Set Identity - license
Type string - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- network
Profiles ScaleSet Network Profile[] - A collection of network profile block as documented below.
- os
Profile ScaleSet Os Profile - A Virtual Machine OS Profile block as documented below.
- os
Profile ScaleLinux Config Set Os Profile Linux Config - A Linux config block as documented below.
- os
Profile ScaleSecrets Set Os Profile Secret[] - A collection of Secret blocks as documented below.
- os
Profile ScaleWindows Config Set Os Profile Windows Config - A Windows config block as documented below.
- overprovision boolean
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - plan
Scale
Set Plan - A plan block as documented below.
- priority string
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - proximity
Placement stringGroup Id - 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 stringName - 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 ScalePolicy Set Rolling Upgrade Policy - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - single
Placement booleanGroup - 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
Scale
Set Sku - A sku block as documented below.
- storage
Profile ScaleData Disks Set Storage Profile Data Disk[] - A storage profile data disk block as documented below
- storage
Profile ScaleImage Reference Set Storage Profile Image Reference - A storage profile image reference block as documented below.
- storage
Profile ScaleOs Disk Set Storage Profile Os Disk - A storage profile os disk block as documented below
- {[key: string]: string}
- A mapping of tags to assign to the resource.
- upgrade
Policy stringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - zones string[]
- A collection of availability zones to spread the Virtual Machines over.
- automatic_
os_ boolupgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - boot_
diagnostics ScaleSet Boot Diagnostics Args - 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
DeallocateandDelete. - extensions
Sequence[Scale
Set Extension Args] - Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - health_
probe_ strid - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - identity
Scale
Set Identity Args - license_
type str - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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[ScaleSet Network Profile Args] - A collection of network profile block as documented below.
- os_
profile ScaleSet Os Profile Args - A Virtual Machine OS Profile block as documented below.
- os_
profile_ Scalelinux_ config Set Os Profile Linux Config Args - A Linux config block as documented below.
- os_
profile_ Sequence[Scalesecrets Set Os Profile Secret Args] - A collection of Secret blocks as documented below.
- os_
profile_ Scalewindows_ config Set Os Profile Windows Config Args - A Windows config block as documented below.
- overprovision bool
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true. - plan
Scale
Set Plan Args - A plan block as documented below.
- priority str
- Specifies the priority for the Virtual Machines in the Scale Set. Defaults to
Regular. Possible values areLowandRegular. - proximity_
placement_ strgroup_ id - 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_ strname - 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_ Scalepolicy Set Rolling Upgrade Policy Args - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - single_
placement_ boolgroup - 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
Scale
Set Sku Args - A sku block as documented below.
- storage_
profile_ Sequence[Scaledata_ disks Set Storage Profile Data Disk Args] - A storage profile data disk block as documented below
- storage_
profile_ Scaleimage_ reference Set Storage Profile Image Reference Args - A storage profile image reference block as documented below.
- storage_
profile_ Scaleos_ disk Set Storage Profile Os Disk Args - A storage profile os disk block as documented below
- Mapping[str, str]
- A mapping of tags to assign to the resource.
- upgrade_
policy_ strmode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - zones Sequence[str]
- A collection of availability zones to spread the Virtual Machines over.
- automatic
Os BooleanUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_modeis set toRolling. Defaults tofalse. - boot
Diagnostics Property Map - A boot diagnostics profile block as referenced below.
- eviction
Policy String - Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
DeallocateandDelete. - extensions List<Property Map>
- Can be specified multiple times to add extension profiles to the scale set. Each
extensionblock supports the fields documented below. - health
Probe StringId - Specifies the identifier for the load balancer health probe. Required when using
Rollingas yourupgrade_policy_mode. - identity Property Map
- license
Type String - Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_ClientandWindows_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.
- network
Profiles List<Property Map> - A collection of network profile block as documented below.
- os
Profile Property Map - A Virtual Machine OS Profile block as documented below.
- os
Profile Property MapLinux Config - A Linux config block as documented below.
- os
Profile List<Property Map>Secrets - A collection of Secret blocks as documented below.
- os
Profile Property MapWindows Config - 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. Defaults to
Regular. Possible values areLowandRegular. - proximity
Placement StringGroup Id - 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 StringName - 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 Property MapPolicy - A
rolling_upgrade_policyblock as defined below. This is only applicable when theupgrade_policy_modeisRolling. - single
Placement BooleanGroup - 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.
- storage
Profile List<Property Map>Data Disks - A storage profile data disk block as documented below
- storage
Profile Property MapImage Reference - A storage profile image reference block as documented below.
- storage
Profile Property MapOs Disk - A storage profile os disk block as documented below
- Map<String>
- A mapping of tags to assign to the resource.
- upgrade
Policy StringMode - Specifies the mode of an upgrade to virtual machines in the scale set. Possible values,
Rolling,Manual, orAutomatic. When choosingRolling, you will need to set a health probe. - zones List<String>
- A collection of availability zones to spread the Virtual Machines over.
Supporting Types
ScaleSetBootDiagnostics, ScaleSetBootDiagnosticsArgs
- Storage
Uri string - Enabled bool
- Storage
Uri string - Enabled bool
- storage
Uri String - enabled Boolean
- storage
Uri string - enabled boolean
- storage_
uri str - enabled bool
- storage
Uri String - enabled Boolean
ScaleSetExtension, ScaleSetExtensionArgs
- 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.
- Type
Handler stringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- Auto
Upgrade boolMinor Version - Specifies whether or not to use the latest minor version available.
- Protected
Settings string - The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.
- Provision
After List<string>Extensions - 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.
- Type
Handler stringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- Auto
Upgrade boolMinor Version - Specifies whether or not to use the latest minor version available.
- Protected
Settings string - The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.
- Provision
After []stringExtensions - 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.
- type
Handler StringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- auto
Upgrade BooleanMinor Version - Specifies whether or not to use the latest minor version available.
- protected
Settings String - The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.
- provision
After List<String>Extensions - 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.
- type
Handler stringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- auto
Upgrade booleanMinor Version - Specifies whether or not to use the latest minor version available.
- protected
Settings string - The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.
- provision
After string[]Extensions - 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_ strversion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- auto_
upgrade_ boolminor_ version - 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_ Sequence[str]extensions - 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.
- type
Handler StringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- auto
Upgrade BooleanMinor Version - Specifies whether or not to use the latest minor version available.
- protected
Settings String - The protected_settings passed to the extension, like settings, these are specified as a JSON object in a string.
- provision
After List<String>Extensions - 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, ScaleSetIdentityArgs
- Type string
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssignedandUserAssigned. For theSystemAssignedidentity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. - Identity
Ids List<string> - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
typeisUserAssigned. - Principal
Id string
- Type string
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssignedandUserAssigned. For theSystemAssignedidentity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. - Identity
Ids []string - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
typeisUserAssigned. - Principal
Id string
- type String
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssignedandUserAssigned. For theSystemAssignedidentity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. - identity
Ids List<String> - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
typeisUserAssigned. - principal
Id String
- type string
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssignedandUserAssigned. For theSystemAssignedidentity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. - identity
Ids string[] - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
typeisUserAssigned. - principal
Id string
- type str
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssignedandUserAssigned. For theSystemAssignedidentity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. - identity_
ids Sequence[str] - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
typeisUserAssigned. - principal_
id str
- type String
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssignedandUserAssigned. For theSystemAssignedidentity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. - identity
Ids List<String> - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
typeisUserAssigned. - principal
Id String
ScaleSetNetworkProfile, ScaleSetNetworkProfileArgs
- Ip
Configurations List<ScaleSet Network Profile Ip Configuration> - 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.
- Accelerated
Networking bool - Specifies whether to enable accelerated networking or not. Defaults to
false. - Dns
Settings ScaleSet Network Profile Dns Settings - A dns_settings block as documented below.
- Ip
Forwarding bool - Whether IP forwarding is enabled on this NIC. Defaults to
false. - Network
Security stringGroup Id - Specifies the identifier for the network security group.
- Ip
Configurations []ScaleSet Network Profile Ip Configuration - 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.
- Accelerated
Networking bool - Specifies whether to enable accelerated networking or not. Defaults to
false. - Dns
Settings ScaleSet Network Profile Dns Settings - A dns_settings block as documented below.
- Ip
Forwarding bool - Whether IP forwarding is enabled on this NIC. Defaults to
false. - Network
Security stringGroup Id - Specifies the identifier for the network security group.
- ip
Configurations List<ScaleSet Network Profile Ip Configuration> - 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.
- accelerated
Networking Boolean - Specifies whether to enable accelerated networking or not. Defaults to
false. - dns
Settings ScaleSet Network Profile Dns Settings - A dns_settings block as documented below.
- ip
Forwarding Boolean - Whether IP forwarding is enabled on this NIC. Defaults to
false. - network
Security StringGroup Id - Specifies the identifier for the network security group.
- ip
Configurations ScaleSet Network Profile Ip Configuration[] - 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.
- accelerated
Networking boolean - Specifies whether to enable accelerated networking or not. Defaults to
false. - dns
Settings ScaleSet Network Profile Dns Settings - A dns_settings block as documented below.
- ip
Forwarding boolean - Whether IP forwarding is enabled on this NIC. Defaults to
false. - network
Security stringGroup Id - Specifies the identifier for the network security group.
- ip_
configurations Sequence[ScaleSet Network Profile Ip Configuration] - 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. Defaults to
false. - dns_
settings ScaleSet Network Profile Dns Settings - A dns_settings block as documented below.
- ip_
forwarding bool - Whether IP forwarding is enabled on this NIC. Defaults to
false. - network_
security_ strgroup_ id - Specifies the identifier for the network security group.
- ip
Configurations 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.
- accelerated
Networking Boolean - Specifies whether to enable accelerated networking or not. Defaults to
false. - dns
Settings Property Map - A dns_settings block as documented below.
- ip
Forwarding Boolean - Whether IP forwarding is enabled on this NIC. Defaults to
false. - network
Security StringGroup Id - Specifies the identifier for the network security group.
ScaleSetNetworkProfileDnsSettings, ScaleSetNetworkProfileDnsSettingsArgs
- Dns
Servers List<string> - Specifies an array of dns servers.
- Dns
Servers []string - Specifies an array of dns servers.
- dns
Servers List<String> - Specifies an array of dns servers.
- dns
Servers string[] - Specifies an array of dns servers.
- dns_
servers Sequence[str] - Specifies an array of dns servers.
- dns
Servers List<String> - Specifies an array of dns servers.
ScaleSetNetworkProfileIpConfiguration, ScaleSetNetworkProfileIpConfigurationArgs
- Name string
- Specifies name of the IP configuration.
- Primary bool
- Specifies if this ip_configuration is the primary one.
- Subnet
Id string - Specifies the identifier of the subnet.
- Application
Gateway List<string>Backend Address Pool Ids - 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 List<string>Group Ids - Specifies up to
20application security group IDs. - Load
Balancer List<string>Backend Address Pool Ids - 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 List<string>Inbound Nat Rules Ids - 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 ScaleAddress Configuration Set Network Profile Ip Configuration Public Ip Address Configuration - 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.
- Subnet
Id string - Specifies the identifier of the subnet.
- Application
Gateway []stringBackend Address Pool Ids - 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 []stringGroup Ids - Specifies up to
20application security group IDs. - Load
Balancer []stringBackend Address Pool Ids - 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 []stringInbound Nat Rules Ids - 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 ScaleAddress Configuration Set Network Profile Ip Configuration Public Ip Address Configuration - 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.
- subnet
Id String - Specifies the identifier of the subnet.
- application
Gateway List<String>Backend Address Pool Ids - 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 List<String>Group Ids - Specifies up to
20application security group IDs. - load
Balancer List<String>Backend Address Pool Ids - 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 List<String>Inbound Nat Rules Ids - 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 ScaleAddress Configuration Set Network Profile Ip Configuration Public Ip Address Configuration - 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.
- subnet
Id string - Specifies the identifier of the subnet.
- application
Gateway string[]Backend Address Pool Ids - 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 string[]Group Ids - Specifies up to
20application security group IDs. - load
Balancer string[]Backend Address Pool Ids - 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 string[]Inbound Nat Rules Ids - 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 ScaleAddress Configuration Set Network Profile Ip Configuration Public Ip Address Configuration - 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_ Sequence[str]backend_ address_ pool_ ids - 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_ Sequence[str]group_ ids - Specifies up to
20application security group IDs. - load_
balancer_ Sequence[str]backend_ address_ pool_ ids - 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_ Sequence[str]inbound_ nat_ rules_ ids - 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_ Scaleaddress_ configuration Set Network Profile Ip Configuration Public Ip Address Configuration - 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.
- subnet
Id String - Specifies the identifier of the subnet.
- application
Gateway List<String>Backend Address Pool Ids - 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 List<String>Group Ids - Specifies up to
20application security group IDs. - load
Balancer List<String>Backend Address Pool Ids - 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 List<String>Inbound Nat Rules Ids - 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 Property MapAddress Configuration - Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The public_ip_address_configuration is documented below.
ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfiguration, ScaleSetNetworkProfileIpConfigurationPublicIpAddressConfigurationArgs
- Domain
Name stringLabel - 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 string
- The name of the public ip address configuration
- Domain
Name stringLabel - 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 string
- The name of the public ip address configuration
- domain
Name StringLabel - The domain name label for the dns settings.
- idle
Timeout Integer - 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 stringLabel - The domain name label for the dns settings.
- idle
Timeout 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_ strlabel - 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
- domain
Name StringLabel - The domain name label for the dns settings.
- idle
Timeout 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, ScaleSetOsProfileArgs
- Admin
Username string - Specifies the administrator account name to use for all the instances of virtual machines in the scale set.
- Computer
Name stringPrefix - 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 string - Specifies the administrator password to use for all the instances of virtual machines in a scale set.
- Custom
Data 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 string - Specifies the administrator account name to use for all the instances of virtual machines in the scale set.
- Computer
Name stringPrefix - 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 string - Specifies the administrator password to use for all the instances of virtual machines in a scale set.
- Custom
Data 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 String - Specifies the administrator account name to use for all the instances of virtual machines in the scale set.
- computer
Name StringPrefix - 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 String - Specifies the administrator password to use for all the instances of virtual machines in a scale set.
- custom
Data 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 string - Specifies the administrator account name to use for all the instances of virtual machines in the scale set.
- computer
Name stringPrefix - 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 string - Specifies the administrator password to use for all the instances of virtual machines in a scale set.
- custom
Data 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_ strprefix - 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.
- admin
Username String - Specifies the administrator account name to use for all the instances of virtual machines in the scale set.
- computer
Name StringPrefix - 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 String - Specifies the administrator password to use for all the instances of virtual machines in a scale set.
- custom
Data 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, ScaleSetOsProfileLinuxConfigArgs
- Disable
Password boolAuthentication - Specifies whether password authentication should be disabled. Defaults to
false. Changing this forces a new resource to be created. - Ssh
Keys List<ScaleSet Os Profile Linux Config Ssh Key> - Specifies a collection of
pathandkey_datato be placed on the virtual machine.
- Disable
Password boolAuthentication - Specifies whether password authentication should be disabled. Defaults to
false. Changing this forces a new resource to be created. - Ssh
Keys []ScaleSet Os Profile Linux Config Ssh Key - Specifies a collection of
pathandkey_datato be placed on the virtual machine.
- disable
Password BooleanAuthentication - Specifies whether password authentication should be disabled. Defaults to
false. Changing this forces a new resource to be created. - ssh
Keys List<ScaleSet Os Profile Linux Config Ssh Key> - Specifies a collection of
pathandkey_datato be placed on the virtual machine.
- disable
Password booleanAuthentication - Specifies whether password authentication should be disabled. Defaults to
false. Changing this forces a new resource to be created. - ssh
Keys ScaleSet Os Profile Linux Config Ssh Key[] - Specifies a collection of
pathandkey_datato be placed on the virtual machine.
- disable_
password_ boolauthentication - Specifies whether password authentication should be disabled. Defaults to
false. Changing this forces a new resource to be created. - ssh_
keys Sequence[ScaleSet Os Profile Linux Config Ssh Key] - Specifies a collection of
pathandkey_datato be placed on the virtual machine.
- disable
Password BooleanAuthentication - Specifies whether password authentication should be disabled. Defaults to
false. Changing this forces a new resource to be created. - ssh
Keys List<Property Map> - Specifies a collection of
pathandkey_datato be placed on the virtual machine.
ScaleSetOsProfileLinuxConfigSshKey, ScaleSetOsProfileLinuxConfigSshKeyArgs
ScaleSetOsProfileSecret, ScaleSetOsProfileSecretArgs
- Source
Vault stringId - Specifies the key vault to use.
- Vault
Certificates List<ScaleSet Os Profile Secret Vault Certificate> - A collection of Vault Certificates as documented below
- Source
Vault stringId - Specifies the key vault to use.
- Vault
Certificates []ScaleSet Os Profile Secret Vault Certificate - A collection of Vault Certificates as documented below
- source
Vault StringId - Specifies the key vault to use.
- vault
Certificates List<ScaleSet Os Profile Secret Vault Certificate> - A collection of Vault Certificates as documented below
- source
Vault stringId - Specifies the key vault to use.
- vault
Certificates ScaleSet Os Profile Secret Vault Certificate[] - A collection of Vault Certificates as documented below
- source_
vault_ strid - Specifies the key vault to use.
- vault_
certificates Sequence[ScaleSet Os Profile Secret Vault Certificate] - A collection of Vault Certificates as documented below
- source
Vault StringId - Specifies the key vault to use.
- vault
Certificates List<Property Map> - A collection of Vault Certificates as documented below
ScaleSetOsProfileSecretVaultCertificate, ScaleSetOsProfileSecretVaultCertificateArgs
- Certificate
Url 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,dataTypeandpassword. - Certificate
Store string - Specifies the certificate store on the Virtual Machine where the certificate should be added to.
- Certificate
Url 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,dataTypeandpassword. - Certificate
Store string - Specifies the certificate store on the Virtual Machine where the certificate should be added to.
- certificate
Url 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,dataTypeandpassword. - certificate
Store String - Specifies the certificate store on the Virtual Machine where the certificate should be added to.
- certificate
Url 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,dataTypeandpassword. - certificate
Store string - 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,dataTypeandpassword. - certificate_
store str - Specifies the certificate store on the Virtual Machine where the certificate should be added to.
- certificate
Url 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,dataTypeandpassword. - certificate
Store String - Specifies the certificate store on the Virtual Machine where the certificate should be added to.
ScaleSetOsProfileWindowsConfig, ScaleSetOsProfileWindowsConfigArgs
- Additional
Unattend List<ScaleConfigs Set Os Profile Windows Config Additional Unattend Config> - An Additional Unattended Config block as documented below.
- Enable
Automatic boolUpgrades - Indicates whether virtual machines in the scale set are enabled for automatic updates.
- Provision
Vm boolAgent - Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.
- Winrms
List<Scale
Set Os Profile Windows Config Winrm> - A collection of WinRM configuration blocks as documented below.
- Additional
Unattend []ScaleConfigs Set Os Profile Windows Config Additional Unattend Config - An Additional Unattended Config block as documented below.
- Enable
Automatic boolUpgrades - Indicates whether virtual machines in the scale set are enabled for automatic updates.
- Provision
Vm boolAgent - Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.
- Winrms
[]Scale
Set Os Profile Windows Config Winrm - A collection of WinRM configuration blocks as documented below.
- additional
Unattend List<ScaleConfigs Set Os Profile Windows Config Additional Unattend Config> - An Additional Unattended Config block as documented below.
- enable
Automatic BooleanUpgrades - Indicates whether virtual machines in the scale set are enabled for automatic updates.
- provision
Vm BooleanAgent - Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.
- winrms
List<Scale
Set Os Profile Windows Config Winrm> - A collection of WinRM configuration blocks as documented below.
- additional
Unattend ScaleConfigs Set Os Profile Windows Config Additional Unattend Config[] - An Additional Unattended Config block as documented below.
- enable
Automatic booleanUpgrades - Indicates whether virtual machines in the scale set are enabled for automatic updates.
- provision
Vm booleanAgent - Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.
- winrms
Scale
Set Os Profile Windows Config Winrm[] - A collection of WinRM configuration blocks as documented below.
- additional_
unattend_ Sequence[Scaleconfigs Set Os Profile Windows Config Additional Unattend Config] - An Additional Unattended Config block as documented below.
- enable_
automatic_ boolupgrades - Indicates whether virtual machines in the scale set are enabled for automatic updates.
- provision_
vm_ boolagent - Indicates whether virtual machine agent should be provisioned on the virtual machines in the scale set.
- winrms
Sequence[Scale
Set Os Profile Windows Config Winrm] - A collection of WinRM configuration blocks as documented below.
- additional
Unattend List<Property Map>Configs - An Additional Unattended Config block as documented below.
- enable
Automatic BooleanUpgrades - Indicates whether virtual machines in the scale set are enabled for automatic updates.
- provision
Vm BooleanAgent - 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, ScaleSetOsProfileWindowsConfigAdditionalUnattendConfigArgs
- 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. - Setting
Name string - Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommandsandAutoLogon.
- 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. - Setting
Name string - Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommandsandAutoLogon.
- 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. - setting
Name String - Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommandsandAutoLogon.
- 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. - setting
Name string - Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommandsandAutoLogon.
- 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:
FirstLogonCommandsandAutoLogon.
- 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. - setting
Name String - Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommandsandAutoLogon.
ScaleSetOsProfileWindowsConfigWinrm, ScaleSetOsProfileWindowsConfigWinrmArgs
- Protocol string
- Specifies the protocol of listener
- Certificate
Url string - Specifies URL of the certificate with which new Virtual Machines is provisioned.
- Protocol string
- Specifies the protocol of listener
- Certificate
Url string - Specifies URL of the certificate with which new Virtual Machines is provisioned.
- protocol String
- Specifies the protocol of listener
- certificate
Url String - Specifies URL of the certificate with which new Virtual Machines is provisioned.
- protocol string
- Specifies the protocol of listener
- certificate
Url 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
- certificate
Url String - Specifies URL of the certificate with which new Virtual Machines is provisioned.
ScaleSetPlan, ScaleSetPlanArgs
ScaleSetRollingUpgradePolicy, ScaleSetRollingUpgradePolicyArgs
- Max
Batch intInstance Percent - 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 intInstance Percent - 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 intUpgraded Instance Percent - 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 stringBetween Batches - 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
0seconds represented asPT0S.
- Max
Batch intInstance Percent - 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 intInstance Percent - 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 intUpgraded Instance Percent - 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 stringBetween Batches - 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
0seconds represented asPT0S.
- max
Batch IntegerInstance Percent - 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 IntegerInstance Percent - 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 IntegerUpgraded Instance Percent - 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 StringBetween Batches - 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
0seconds represented asPT0S.
- max
Batch numberInstance Percent - 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 numberInstance Percent - 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 numberUpgraded Instance Percent - 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 stringBetween Batches - 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
0seconds represented asPT0S.
- max_
batch_ intinstance_ percent - 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_ intinstance_ percent - 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_ intupgraded_ instance_ percent - 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_ strbetween_ batches - 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
0seconds represented asPT0S.
- max
Batch NumberInstance Percent - 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 NumberInstance Percent - 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 NumberUpgraded Instance Percent - 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 StringBetween Batches - 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
0seconds represented asPT0S.
ScaleSetSku, ScaleSetSkuArgs
ScaleSetStorageProfileDataDisk, ScaleSetStorageProfileDataDiskArgs
- Create
Option string - Specifies how the data disk should be created. The only possible options are
FromImageandEmpty. - 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. - Disk
Size intGb - Specifies the size of the disk in GB. This element is required when creating an empty disk.
- Managed
Disk stringType - Specifies the type of managed disk to create. Value must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS.
- Create
Option string - Specifies how the data disk should be created. The only possible options are
FromImageandEmpty. - 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. - Disk
Size intGb - Specifies the size of the disk in GB. This element is required when creating an empty disk.
- Managed
Disk stringType - Specifies the type of managed disk to create. Value must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS.
- create
Option String - Specifies how the data disk should be created. The only possible options are
FromImageandEmpty. - 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. - disk
Size IntegerGb - Specifies the size of the disk in GB. This element is required when creating an empty disk.
- managed
Disk StringType - Specifies the type of managed disk to create. Value must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS.
- create
Option string - Specifies how the data disk should be created. The only possible options are
FromImageandEmpty. - 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. - disk
Size numberGb - Specifies the size of the disk in GB. This element is required when creating an empty disk.
- managed
Disk stringType - Specifies the type of managed disk to create. Value must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS.
- create_
option str - Specifies how the data disk should be created. The only possible options are
FromImageandEmpty. - 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_ intgb - Specifies the size of the disk in GB. This element is required when creating an empty disk.
- managed_
disk_ strtype - Specifies the type of managed disk to create. Value must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS.
- create
Option String - Specifies how the data disk should be created. The only possible options are
FromImageandEmpty. - 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. - disk
Size NumberGb - Specifies the size of the disk in GB. This element is required when creating an empty disk.
- managed
Disk StringType - Specifies the type of managed disk to create. Value must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS.
ScaleSetStorageProfileImageReference, ScaleSetStorageProfileImageReferenceArgs
- 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, ScaleSetStorageProfileOsDiskArgs
- Create
Option 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_typeneeds to be specified. Cannot be used whenvhd_containers,managed_disk_typeorstorage_profile_image_referenceare specified. - Managed
Disk stringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS. Cannot be used whenvhd_containersorimageis specified. - Name string
- Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).
- Os
Type string - Specifies the operating system Type, valid values are windows, linux.
- Vhd
Containers List<string> - Specifies the vhd uri. Cannot be used when
imageormanaged_disk_typeis specified.
- Create
Option 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_typeneeds to be specified. Cannot be used whenvhd_containers,managed_disk_typeorstorage_profile_image_referenceare specified. - Managed
Disk stringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS. Cannot be used whenvhd_containersorimageis specified. - Name string
- Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).
- Os
Type string - Specifies the operating system Type, valid values are windows, linux.
- Vhd
Containers []string - Specifies the vhd uri. Cannot be used when
imageormanaged_disk_typeis specified.
- create
Option 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_typeneeds to be specified. Cannot be used whenvhd_containers,managed_disk_typeorstorage_profile_image_referenceare specified. - managed
Disk StringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS. Cannot be used whenvhd_containersorimageis specified. - name String
- Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).
- os
Type String - Specifies the operating system Type, valid values are windows, linux.
- vhd
Containers List<String> - Specifies the vhd uri. Cannot be used when
imageormanaged_disk_typeis specified.
- create
Option 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_typeneeds to be specified. Cannot be used whenvhd_containers,managed_disk_typeorstorage_profile_image_referenceare specified. - managed
Disk stringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS. Cannot be used whenvhd_containersorimageis specified. - name string
- Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).
- os
Type string - Specifies the operating system Type, valid values are windows, linux.
- vhd
Containers string[] - Specifies the vhd uri. Cannot be used when
imageormanaged_disk_typeis 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_typeneeds to be specified. Cannot be used whenvhd_containers,managed_disk_typeorstorage_profile_image_referenceare specified. - managed_
disk_ strtype - Specifies the type of managed disk to create. Value you must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS. Cannot be used whenvhd_containersorimageis 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
imageormanaged_disk_typeis specified.
- create
Option 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_typeneeds to be specified. Cannot be used whenvhd_containers,managed_disk_typeorstorage_profile_image_referenceare specified. - managed
Disk StringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS,StandardSSD_LRSorPremium_LRS. Cannot be used whenvhd_containersorimageis specified. - name String
- Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).
- os
Type String - Specifies the operating system Type, valid values are windows, linux.
- vhd
Containers List<String> - Specifies the vhd uri. Cannot be used when
imageormanaged_disk_typeis 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
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurermTerraform Provider.
We recommend using Azure Native.
published on Monday, Mar 9, 2026 by Pulumi
