We recommend using Azure Native.
azure.compute.ScaleSet
Explore with Pulumi AI
Manages a virtual machine scale set.
Example Usage
With Managed Disks (Recommended)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as std from "@pulumi/std";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
name: "acctvn",
addressSpaces: ["10.0.0.0/16"],
location: example.location,
resourceGroupName: example.name,
});
const exampleSubnet = new azure.network.Subnet("example", {
name: "acctsub",
resourceGroupName: example.name,
virtualNetworkName: exampleVirtualNetwork.name,
addressPrefixes: ["10.0.2.0/24"],
});
const examplePublicIp = new azure.network.PublicIp("example", {
name: "test",
location: example.location,
resourceGroupName: example.name,
allocationMethod: "Static",
domainNameLabel: example.name,
tags: {
environment: "staging",
},
});
const exampleLoadBalancer = new azure.lb.LoadBalancer("example", {
name: "test",
location: example.location,
resourceGroupName: example.name,
frontendIpConfigurations: [{
name: "PublicIPAddress",
publicIpAddressId: examplePublicIp.id,
}],
});
const bpepool = new azure.lb.BackendAddressPool("bpepool", {
loadbalancerId: exampleLoadBalancer.id,
name: "BackEndAddressPool",
});
const lbnatpool = new azure.lb.NatPool("lbnatpool", {
resourceGroupName: example.name,
name: "ssh",
loadbalancerId: exampleLoadBalancer.id,
protocol: "Tcp",
frontendPortStart: 50000,
frontendPortEnd: 50119,
backendPort: 22,
frontendIpConfigurationName: "PublicIPAddress",
});
const exampleProbe = new azure.lb.Probe("example", {
loadbalancerId: exampleLoadBalancer.id,
name: "http-probe",
protocol: "Http",
requestPath: "/health",
port: 8080,
});
const exampleScaleSet = new azure.compute.ScaleSet("example", {
name: "mytestscaleset-1",
location: example.location,
resourceGroupName: example.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: "0001-com-ubuntu-server-jammy",
sku: "22_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: std.file({
input: "~/.ssh/demo_key.pub",
}).then(invoke => invoke.result),
}],
},
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
import pulumi_std as std
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("example",
name="acctvn",
address_spaces=["10.0.0.0/16"],
location=example.location,
resource_group_name=example.name)
example_subnet = azure.network.Subnet("example",
name="acctsub",
resource_group_name=example.name,
virtual_network_name=example_virtual_network.name,
address_prefixes=["10.0.2.0/24"])
example_public_ip = azure.network.PublicIp("example",
name="test",
location=example.location,
resource_group_name=example.name,
allocation_method="Static",
domain_name_label=example.name,
tags={
"environment": "staging",
})
example_load_balancer = azure.lb.LoadBalancer("example",
name="test",
location=example.location,
resource_group_name=example.name,
frontend_ip_configurations=[{
"name": "PublicIPAddress",
"public_ip_address_id": example_public_ip.id,
}])
bpepool = azure.lb.BackendAddressPool("bpepool",
loadbalancer_id=example_load_balancer.id,
name="BackEndAddressPool")
lbnatpool = azure.lb.NatPool("lbnatpool",
resource_group_name=example.name,
name="ssh",
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("example",
loadbalancer_id=example_load_balancer.id,
name="http-probe",
protocol="Http",
request_path="/health",
port=8080)
example_scale_set = azure.compute.ScaleSet("example",
name="mytestscaleset-1",
location=example.location,
resource_group_name=example.name,
automatic_os_upgrade=True,
upgrade_policy_mode="Rolling",
rolling_upgrade_policy={
"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={
"name": "Standard_F2",
"tier": "Standard",
"capacity": 2,
},
storage_profile_image_reference={
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest",
},
storage_profile_os_disk={
"name": "",
"caching": "ReadWrite",
"create_option": "FromImage",
"managed_disk_type": "Standard_LRS",
},
storage_profile_data_disks=[{
"lun": 0,
"caching": "ReadWrite",
"create_option": "Empty",
"disk_size_gb": 10,
}],
os_profile={
"computer_name_prefix": "testvm",
"admin_username": "myadmin",
},
os_profile_linux_config={
"disable_password_authentication": True,
"ssh_keys": [{
"path": "/home/myadmin/.ssh/authorized_keys",
"key_data": std.file(input="~/.ssh/demo_key.pub").result,
}],
},
network_profiles=[{
"name": "mynetworkprofile",
"primary": True,
"ip_configurations": [{
"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",
})
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/lb"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
Name: pulumi.String("acctvn"),
AddressSpaces: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
Location: example.Location,
ResourceGroupName: example.Name,
})
if err != nil {
return err
}
exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
Name: pulumi.String("acctsub"),
ResourceGroupName: example.Name,
VirtualNetworkName: exampleVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.2.0/24"),
},
})
if err != nil {
return err
}
examplePublicIp, err := network.NewPublicIp(ctx, "example", &network.PublicIpArgs{
Name: pulumi.String("test"),
Location: example.Location,
ResourceGroupName: example.Name,
AllocationMethod: pulumi.String("Static"),
DomainNameLabel: example.Name,
Tags: pulumi.StringMap{
"environment": pulumi.String("staging"),
},
})
if err != nil {
return err
}
exampleLoadBalancer, err := lb.NewLoadBalancer(ctx, "example", &lb.LoadBalancerArgs{
Name: pulumi.String("test"),
Location: example.Location,
ResourceGroupName: example.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{
LoadbalancerId: exampleLoadBalancer.ID(),
Name: pulumi.String("BackEndAddressPool"),
})
if err != nil {
return err
}
lbnatpool, err := lb.NewNatPool(ctx, "lbnatpool", &lb.NatPoolArgs{
ResourceGroupName: example.Name,
Name: pulumi.String("ssh"),
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, "example", &lb.ProbeArgs{
LoadbalancerId: exampleLoadBalancer.ID(),
Name: pulumi.String("http-probe"),
Protocol: pulumi.String("Http"),
RequestPath: pulumi.String("/health"),
Port: pulumi.Int(8080),
})
if err != nil {
return err
}
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: "~/.ssh/demo_key.pub",
}, nil)
if err != nil {
return err
}
_, err = compute.NewScaleSet(ctx, "example", &compute.ScaleSetArgs{
Name: pulumi.String("mytestscaleset-1"),
Location: example.Location,
ResourceGroupName: example.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("0001-com-ubuntu-server-jammy"),
Sku: pulumi.String("22_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: pulumi.String(invokeFile.Result),
},
},
},
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
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using Std = Pulumi.Std;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
{
Name = "acctvn",
AddressSpaces = new[]
{
"10.0.0.0/16",
},
Location = example.Location,
ResourceGroupName = example.Name,
});
var exampleSubnet = new Azure.Network.Subnet("example", new()
{
Name = "acctsub",
ResourceGroupName = example.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.2.0/24",
},
});
var examplePublicIp = new Azure.Network.PublicIp("example", new()
{
Name = "test",
Location = example.Location,
ResourceGroupName = example.Name,
AllocationMethod = "Static",
DomainNameLabel = example.Name,
Tags =
{
{ "environment", "staging" },
},
});
var exampleLoadBalancer = new Azure.Lb.LoadBalancer("example", new()
{
Name = "test",
Location = example.Location,
ResourceGroupName = example.Name,
FrontendIpConfigurations = new[]
{
new Azure.Lb.Inputs.LoadBalancerFrontendIpConfigurationArgs
{
Name = "PublicIPAddress",
PublicIpAddressId = examplePublicIp.Id,
},
},
});
var bpepool = new Azure.Lb.BackendAddressPool("bpepool", new()
{
LoadbalancerId = exampleLoadBalancer.Id,
Name = "BackEndAddressPool",
});
var lbnatpool = new Azure.Lb.NatPool("lbnatpool", new()
{
ResourceGroupName = example.Name,
Name = "ssh",
LoadbalancerId = exampleLoadBalancer.Id,
Protocol = "Tcp",
FrontendPortStart = 50000,
FrontendPortEnd = 50119,
BackendPort = 22,
FrontendIpConfigurationName = "PublicIPAddress",
});
var exampleProbe = new Azure.Lb.Probe("example", new()
{
LoadbalancerId = exampleLoadBalancer.Id,
Name = "http-probe",
Protocol = "Http",
RequestPath = "/health",
Port = 8080,
});
var exampleScaleSet = new Azure.Compute.ScaleSet("example", new()
{
Name = "mytestscaleset-1",
Location = example.Location,
ResourceGroupName = example.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 = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest",
},
StorageProfileOsDisk = new Azure.Compute.Inputs.ScaleSetStorageProfileOsDiskArgs
{
Name = "",
Caching = "ReadWrite",
CreateOption = "FromImage",
ManagedDiskType = "Standard_LRS",
},
StorageProfileDataDisks = new[]
{
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[]
{
new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs
{
Path = "/home/myadmin/.ssh/authorized_keys",
KeyData = Std.File.Invoke(new()
{
Input = "~/.ssh/demo_key.pub",
}).Apply(invoke => invoke.Result),
},
},
},
NetworkProfiles = new[]
{
new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs
{
Name = "mynetworkprofile",
Primary = true,
IpConfigurations = new[]
{
new Azure.Compute.Inputs.ScaleSetNetworkProfileIpConfigurationArgs
{
Name = "TestIPConfiguration",
Primary = true,
SubnetId = exampleSubnet.Id,
LoadBalancerBackendAddressPoolIds = new[]
{
bpepool.Id,
},
LoadBalancerInboundNatRulesIds = new[]
{
lbnatpool.Id,
},
},
},
},
},
Tags =
{
{ "environment", "staging" },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.PublicIp;
import com.pulumi.azure.network.PublicIpArgs;
import com.pulumi.azure.lb.LoadBalancer;
import com.pulumi.azure.lb.LoadBalancerArgs;
import com.pulumi.azure.lb.inputs.LoadBalancerFrontendIpConfigurationArgs;
import com.pulumi.azure.lb.BackendAddressPool;
import com.pulumi.azure.lb.BackendAddressPoolArgs;
import com.pulumi.azure.lb.NatPool;
import com.pulumi.azure.lb.NatPoolArgs;
import com.pulumi.azure.lb.Probe;
import com.pulumi.azure.lb.ProbeArgs;
import com.pulumi.azure.compute.ScaleSet;
import com.pulumi.azure.compute.ScaleSetArgs;
import com.pulumi.azure.compute.inputs.ScaleSetRollingUpgradePolicyArgs;
import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileOsDiskArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileDataDiskArgs;
import com.pulumi.azure.compute.inputs.ScaleSetOsProfileArgs;
import com.pulumi.azure.compute.inputs.ScaleSetOsProfileLinuxConfigArgs;
import com.pulumi.azure.compute.inputs.ScaleSetNetworkProfileArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.name("acctvn")
.addressSpaces("10.0.0.0/16")
.location(example.location())
.resourceGroupName(example.name())
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.name("acctsub")
.resourceGroupName(example.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.2.0/24")
.build());
var examplePublicIp = new PublicIp("examplePublicIp", PublicIpArgs.builder()
.name("test")
.location(example.location())
.resourceGroupName(example.name())
.allocationMethod("Static")
.domainNameLabel(example.name())
.tags(Map.of("environment", "staging"))
.build());
var exampleLoadBalancer = new LoadBalancer("exampleLoadBalancer", LoadBalancerArgs.builder()
.name("test")
.location(example.location())
.resourceGroupName(example.name())
.frontendIpConfigurations(LoadBalancerFrontendIpConfigurationArgs.builder()
.name("PublicIPAddress")
.publicIpAddressId(examplePublicIp.id())
.build())
.build());
var bpepool = new BackendAddressPool("bpepool", BackendAddressPoolArgs.builder()
.loadbalancerId(exampleLoadBalancer.id())
.name("BackEndAddressPool")
.build());
var lbnatpool = new NatPool("lbnatpool", NatPoolArgs.builder()
.resourceGroupName(example.name())
.name("ssh")
.loadbalancerId(exampleLoadBalancer.id())
.protocol("Tcp")
.frontendPortStart(50000)
.frontendPortEnd(50119)
.backendPort(22)
.frontendIpConfigurationName("PublicIPAddress")
.build());
var exampleProbe = new Probe("exampleProbe", ProbeArgs.builder()
.loadbalancerId(exampleLoadBalancer.id())
.name("http-probe")
.protocol("Http")
.requestPath("/health")
.port(8080)
.build());
var exampleScaleSet = new ScaleSet("exampleScaleSet", ScaleSetArgs.builder()
.name("mytestscaleset-1")
.location(example.location())
.resourceGroupName(example.name())
.automaticOsUpgrade(true)
.upgradePolicyMode("Rolling")
.rollingUpgradePolicy(ScaleSetRollingUpgradePolicyArgs.builder()
.maxBatchInstancePercent(20)
.maxUnhealthyInstancePercent(20)
.maxUnhealthyUpgradedInstancePercent(5)
.pauseTimeBetweenBatches("PT0S")
.build())
.healthProbeId(exampleProbe.id())
.sku(ScaleSetSkuArgs.builder()
.name("Standard_F2")
.tier("Standard")
.capacity(2)
.build())
.storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-jammy")
.sku("22_04-lts")
.version("latest")
.build())
.storageProfileOsDisk(ScaleSetStorageProfileOsDiskArgs.builder()
.name("")
.caching("ReadWrite")
.createOption("FromImage")
.managedDiskType("Standard_LRS")
.build())
.storageProfileDataDisks(ScaleSetStorageProfileDataDiskArgs.builder()
.lun(0)
.caching("ReadWrite")
.createOption("Empty")
.diskSizeGb(10)
.build())
.osProfile(ScaleSetOsProfileArgs.builder()
.computerNamePrefix("testvm")
.adminUsername("myadmin")
.build())
.osProfileLinuxConfig(ScaleSetOsProfileLinuxConfigArgs.builder()
.disablePasswordAuthentication(true)
.sshKeys(ScaleSetOsProfileLinuxConfigSshKeyArgs.builder()
.path("/home/myadmin/.ssh/authorized_keys")
.keyData(StdFunctions.file(FileArgs.builder()
.input("~/.ssh/demo_key.pub")
.build()).result())
.build())
.build())
.networkProfiles(ScaleSetNetworkProfileArgs.builder()
.name("mynetworkprofile")
.primary(true)
.ipConfigurations(ScaleSetNetworkProfileIpConfigurationArgs.builder()
.name("TestIPConfiguration")
.primary(true)
.subnetId(exampleSubnet.id())
.loadBalancerBackendAddressPoolIds(bpepool.id())
.loadBalancerInboundNatRulesIds(lbnatpool.id())
.build())
.build())
.tags(Map.of("environment", "staging"))
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleVirtualNetwork:
type: azure:network:VirtualNetwork
name: example
properties:
name: acctvn
addressSpaces:
- 10.0.0.0/16
location: ${example.location}
resourceGroupName: ${example.name}
exampleSubnet:
type: azure:network:Subnet
name: example
properties:
name: acctsub
resourceGroupName: ${example.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.2.0/24
examplePublicIp:
type: azure:network:PublicIp
name: example
properties:
name: test
location: ${example.location}
resourceGroupName: ${example.name}
allocationMethod: Static
domainNameLabel: ${example.name}
tags:
environment: staging
exampleLoadBalancer:
type: azure:lb:LoadBalancer
name: example
properties:
name: test
location: ${example.location}
resourceGroupName: ${example.name}
frontendIpConfigurations:
- name: PublicIPAddress
publicIpAddressId: ${examplePublicIp.id}
bpepool:
type: azure:lb:BackendAddressPool
properties:
loadbalancerId: ${exampleLoadBalancer.id}
name: BackEndAddressPool
lbnatpool:
type: azure:lb:NatPool
properties:
resourceGroupName: ${example.name}
name: ssh
loadbalancerId: ${exampleLoadBalancer.id}
protocol: Tcp
frontendPortStart: 50000
frontendPortEnd: 50119
backendPort: 22
frontendIpConfigurationName: PublicIPAddress
exampleProbe:
type: azure:lb:Probe
name: example
properties:
loadbalancerId: ${exampleLoadBalancer.id}
name: http-probe
protocol: Http
requestPath: /health
port: 8080
exampleScaleSet:
type: azure:compute:ScaleSet
name: example
properties:
name: mytestscaleset-1
location: ${example.location}
resourceGroupName: ${example.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: 0001-com-ubuntu-server-jammy
sku: 22_04-lts
version: latest
storageProfileOsDisk:
name:
caching: ReadWrite
createOption: FromImage
managedDiskType: Standard_LRS
storageProfileDataDisks:
- lun: 0
caching: ReadWrite
createOption: Empty
diskSizeGb: 10
osProfile:
computerNamePrefix: testvm
adminUsername: myadmin
osProfileLinuxConfig:
disablePasswordAuthentication: true
sshKeys:
- path: /home/myadmin/.ssh/authorized_keys
keyData:
fn::invoke:
Function: std:file
Arguments:
input: ~/.ssh/demo_key.pub
Return: result
networkProfiles:
- name: mynetworkprofile
primary: true
ipConfigurations:
- name: TestIPConfiguration
primary: true
subnetId: ${exampleSubnet.id}
loadBalancerBackendAddressPoolIds:
- ${bpepool.id}
loadBalancerInboundNatRulesIds:
- ${lbnatpool.id}
tags:
environment: staging
With Unmanaged Disks
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as std from "@pulumi/std";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
name: "acctvn",
addressSpaces: ["10.0.0.0/16"],
location: example.location,
resourceGroupName: example.name,
});
const exampleSubnet = new azure.network.Subnet("example", {
name: "acctsub",
resourceGroupName: example.name,
virtualNetworkName: exampleVirtualNetwork.name,
addressPrefixes: ["10.0.2.0/24"],
});
const exampleAccount = new azure.storage.Account("example", {
name: "accsa",
resourceGroupName: example.name,
location: example.location,
accountTier: "Standard",
accountReplicationType: "LRS",
tags: {
environment: "staging",
},
});
const exampleContainer = new azure.storage.Container("example", {
name: "vhds",
storageAccountName: exampleAccount.name,
containerAccessType: "private",
});
const exampleScaleSet = new azure.compute.ScaleSet("example", {
name: "mytestscaleset-1",
location: example.location,
resourceGroupName: example.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: std.file({
input: "~/.ssh/demo_key.pub",
}).then(invoke => invoke.result),
}],
},
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: "0001-com-ubuntu-server-jammy",
sku: "22_04-lts",
version: "latest",
},
});
import pulumi
import pulumi_azure as azure
import pulumi_std as std
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("example",
name="acctvn",
address_spaces=["10.0.0.0/16"],
location=example.location,
resource_group_name=example.name)
example_subnet = azure.network.Subnet("example",
name="acctsub",
resource_group_name=example.name,
virtual_network_name=example_virtual_network.name,
address_prefixes=["10.0.2.0/24"])
example_account = azure.storage.Account("example",
name="accsa",
resource_group_name=example.name,
location=example.location,
account_tier="Standard",
account_replication_type="LRS",
tags={
"environment": "staging",
})
example_container = azure.storage.Container("example",
name="vhds",
storage_account_name=example_account.name,
container_access_type="private")
example_scale_set = azure.compute.ScaleSet("example",
name="mytestscaleset-1",
location=example.location,
resource_group_name=example.name,
upgrade_policy_mode="Manual",
sku={
"name": "Standard_F2",
"tier": "Standard",
"capacity": 2,
},
os_profile={
"computer_name_prefix": "testvm",
"admin_username": "myadmin",
},
os_profile_linux_config={
"disable_password_authentication": True,
"ssh_keys": [{
"path": "/home/myadmin/.ssh/authorized_keys",
"key_data": std.file(input="~/.ssh/demo_key.pub").result,
}],
},
network_profiles=[{
"name": "TestNetworkProfile",
"primary": True,
"ip_configurations": [{
"name": "TestIPConfiguration",
"primary": True,
"subnet_id": example_subnet.id,
}],
}],
storage_profile_os_disk={
"name": "osDiskProfile",
"caching": "ReadWrite",
"create_option": "FromImage",
"vhd_containers": [pulumi.Output.all(
primary_blob_endpoint=example_account.primary_blob_endpoint,
name=example_container.name
).apply(lambda resolved_outputs: f"{resolved_outputs['primary_blob_endpoint']}{resolved_outputs['name']}")
],
},
storage_profile_image_reference={
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest",
})
package main
import (
"fmt"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/network"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/storage"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
Name: pulumi.String("acctvn"),
AddressSpaces: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
Location: example.Location,
ResourceGroupName: example.Name,
})
if err != nil {
return err
}
exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
Name: pulumi.String("acctsub"),
ResourceGroupName: example.Name,
VirtualNetworkName: exampleVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.2.0/24"),
},
})
if err != nil {
return err
}
exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
Name: pulumi.String("accsa"),
ResourceGroupName: example.Name,
Location: example.Location,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("LRS"),
Tags: pulumi.StringMap{
"environment": pulumi.String("staging"),
},
})
if err != nil {
return err
}
exampleContainer, err := storage.NewContainer(ctx, "example", &storage.ContainerArgs{
Name: pulumi.String("vhds"),
StorageAccountName: exampleAccount.Name,
ContainerAccessType: pulumi.String("private"),
})
if err != nil {
return err
}
invokeFile, err := std.File(ctx, &std.FileArgs{
Input: "~/.ssh/demo_key.pub",
}, nil)
if err != nil {
return err
}
_, err = compute.NewScaleSet(ctx, "example", &compute.ScaleSetArgs{
Name: pulumi.String("mytestscaleset-1"),
Location: example.Location,
ResourceGroupName: example.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: pulumi.String(invokeFile.Result),
},
},
},
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("0001-com-ubuntu-server-jammy"),
Sku: pulumi.String("22_04-lts"),
Version: pulumi.String("latest"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using Std = Pulumi.Std;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
{
Name = "acctvn",
AddressSpaces = new[]
{
"10.0.0.0/16",
},
Location = example.Location,
ResourceGroupName = example.Name,
});
var exampleSubnet = new Azure.Network.Subnet("example", new()
{
Name = "acctsub",
ResourceGroupName = example.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.2.0/24",
},
});
var exampleAccount = new Azure.Storage.Account("example", new()
{
Name = "accsa",
ResourceGroupName = example.Name,
Location = example.Location,
AccountTier = "Standard",
AccountReplicationType = "LRS",
Tags =
{
{ "environment", "staging" },
},
});
var exampleContainer = new Azure.Storage.Container("example", new()
{
Name = "vhds",
StorageAccountName = exampleAccount.Name,
ContainerAccessType = "private",
});
var exampleScaleSet = new Azure.Compute.ScaleSet("example", new()
{
Name = "mytestscaleset-1",
Location = example.Location,
ResourceGroupName = example.Name,
UpgradePolicyMode = "Manual",
Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs
{
Name = "Standard_F2",
Tier = "Standard",
Capacity = 2,
},
OsProfile = new Azure.Compute.Inputs.ScaleSetOsProfileArgs
{
ComputerNamePrefix = "testvm",
AdminUsername = "myadmin",
},
OsProfileLinuxConfig = new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigArgs
{
DisablePasswordAuthentication = true,
SshKeys = new[]
{
new Azure.Compute.Inputs.ScaleSetOsProfileLinuxConfigSshKeyArgs
{
Path = "/home/myadmin/.ssh/authorized_keys",
KeyData = Std.File.Invoke(new()
{
Input = "~/.ssh/demo_key.pub",
}).Apply(invoke => invoke.Result),
},
},
},
NetworkProfiles = new[]
{
new Azure.Compute.Inputs.ScaleSetNetworkProfileArgs
{
Name = "TestNetworkProfile",
Primary = true,
IpConfigurations = new[]
{
new Azure.Compute.Inputs.ScaleSetNetworkProfileIpConfigurationArgs
{
Name = "TestIPConfiguration",
Primary = true,
SubnetId = exampleSubnet.Id,
},
},
},
},
StorageProfileOsDisk = new Azure.Compute.Inputs.ScaleSetStorageProfileOsDiskArgs
{
Name = "osDiskProfile",
Caching = "ReadWrite",
CreateOption = "FromImage",
VhdContainers = new[]
{
Output.Tuple(exampleAccount.PrimaryBlobEndpoint, exampleContainer.Name).Apply(values =>
{
var primaryBlobEndpoint = values.Item1;
var name = values.Item2;
return $"{primaryBlobEndpoint}{name}";
}),
},
},
StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs
{
Publisher = "Canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.storage.Account;
import com.pulumi.azure.storage.AccountArgs;
import com.pulumi.azure.storage.Container;
import com.pulumi.azure.storage.ContainerArgs;
import com.pulumi.azure.compute.ScaleSet;
import com.pulumi.azure.compute.ScaleSetArgs;
import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs;
import com.pulumi.azure.compute.inputs.ScaleSetOsProfileArgs;
import com.pulumi.azure.compute.inputs.ScaleSetOsProfileLinuxConfigArgs;
import com.pulumi.azure.compute.inputs.ScaleSetNetworkProfileArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileOsDiskArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.name("acctvn")
.addressSpaces("10.0.0.0/16")
.location(example.location())
.resourceGroupName(example.name())
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.name("acctsub")
.resourceGroupName(example.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.2.0/24")
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.name("accsa")
.resourceGroupName(example.name())
.location(example.location())
.accountTier("Standard")
.accountReplicationType("LRS")
.tags(Map.of("environment", "staging"))
.build());
var exampleContainer = new Container("exampleContainer", ContainerArgs.builder()
.name("vhds")
.storageAccountName(exampleAccount.name())
.containerAccessType("private")
.build());
var exampleScaleSet = new ScaleSet("exampleScaleSet", ScaleSetArgs.builder()
.name("mytestscaleset-1")
.location(example.location())
.resourceGroupName(example.name())
.upgradePolicyMode("Manual")
.sku(ScaleSetSkuArgs.builder()
.name("Standard_F2")
.tier("Standard")
.capacity(2)
.build())
.osProfile(ScaleSetOsProfileArgs.builder()
.computerNamePrefix("testvm")
.adminUsername("myadmin")
.build())
.osProfileLinuxConfig(ScaleSetOsProfileLinuxConfigArgs.builder()
.disablePasswordAuthentication(true)
.sshKeys(ScaleSetOsProfileLinuxConfigSshKeyArgs.builder()
.path("/home/myadmin/.ssh/authorized_keys")
.keyData(StdFunctions.file(FileArgs.builder()
.input("~/.ssh/demo_key.pub")
.build()).result())
.build())
.build())
.networkProfiles(ScaleSetNetworkProfileArgs.builder()
.name("TestNetworkProfile")
.primary(true)
.ipConfigurations(ScaleSetNetworkProfileIpConfigurationArgs.builder()
.name("TestIPConfiguration")
.primary(true)
.subnetId(exampleSubnet.id())
.build())
.build())
.storageProfileOsDisk(ScaleSetStorageProfileOsDiskArgs.builder()
.name("osDiskProfile")
.caching("ReadWrite")
.createOption("FromImage")
.vhdContainers(Output.tuple(exampleAccount.primaryBlobEndpoint(), exampleContainer.name()).applyValue(values -> {
var primaryBlobEndpoint = values.t1;
var name = values.t2;
return String.format("%s%s", primaryBlobEndpoint,name);
}))
.build())
.storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-jammy")
.sku("22_04-lts")
.version("latest")
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleVirtualNetwork:
type: azure:network:VirtualNetwork
name: example
properties:
name: acctvn
addressSpaces:
- 10.0.0.0/16
location: ${example.location}
resourceGroupName: ${example.name}
exampleSubnet:
type: azure:network:Subnet
name: example
properties:
name: acctsub
resourceGroupName: ${example.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.2.0/24
exampleAccount:
type: azure:storage:Account
name: example
properties:
name: accsa
resourceGroupName: ${example.name}
location: ${example.location}
accountTier: Standard
accountReplicationType: LRS
tags:
environment: staging
exampleContainer:
type: azure:storage:Container
name: example
properties:
name: vhds
storageAccountName: ${exampleAccount.name}
containerAccessType: private
exampleScaleSet:
type: azure:compute:ScaleSet
name: example
properties:
name: mytestscaleset-1
location: ${example.location}
resourceGroupName: ${example.name}
upgradePolicyMode: Manual
sku:
name: Standard_F2
tier: Standard
capacity: 2
osProfile:
computerNamePrefix: testvm
adminUsername: myadmin
osProfileLinuxConfig:
disablePasswordAuthentication: true
sshKeys:
- path: /home/myadmin/.ssh/authorized_keys
keyData:
fn::invoke:
Function: std:file
Arguments:
input: ~/.ssh/demo_key.pub
Return: result
networkProfiles:
- name: TestNetworkProfile
primary: true
ipConfigurations:
- name: TestIPConfiguration
primary: true
subnetId: ${exampleSubnet.id}
storageProfileOsDisk:
name: osDiskProfile
caching: ReadWrite
createOption: FromImage
vhdContainers:
- ${exampleAccount.primaryBlobEndpoint}${exampleContainer.name}
storageProfileImageReference:
publisher: Canonical
offer: 0001-com-ubuntu-server-jammy
sku: 22_04-lts
version: latest
Example of storage_profile_image_reference with id
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.compute.Image("example", {name: "test"});
const exampleScaleSet = new azure.compute.ScaleSet("example", {
name: "test",
storageProfileImageReference: {
id: example.id,
},
});
import pulumi
import pulumi_azure as azure
example = azure.compute.Image("example", name="test")
example_scale_set = azure.compute.ScaleSet("example",
name="test",
storage_profile_image_reference={
"id": example.id,
})
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := compute.NewImage(ctx, "example", &compute.ImageArgs{
Name: pulumi.String("test"),
})
if err != nil {
return err
}
_, err = compute.NewScaleSet(ctx, "example", &compute.ScaleSetArgs{
Name: pulumi.String("test"),
StorageProfileImageReference: &compute.ScaleSetStorageProfileImageReferenceArgs{
Id: example.ID(),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Compute.Image("example", new()
{
Name = "test",
});
var exampleScaleSet = new Azure.Compute.ScaleSet("example", new()
{
Name = "test",
StorageProfileImageReference = new Azure.Compute.Inputs.ScaleSetStorageProfileImageReferenceArgs
{
Id = example.Id,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.compute.Image;
import com.pulumi.azure.compute.ImageArgs;
import com.pulumi.azure.compute.ScaleSet;
import com.pulumi.azure.compute.ScaleSetArgs;
import com.pulumi.azure.compute.inputs.ScaleSetStorageProfileImageReferenceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Image("example", ImageArgs.builder()
.name("test")
.build());
var exampleScaleSet = new ScaleSet("exampleScaleSet", ScaleSetArgs.builder()
.name("test")
.storageProfileImageReference(ScaleSetStorageProfileImageReferenceArgs.builder()
.id(example.id())
.build())
.build());
}
}
resources:
example:
type: azure:compute:Image
properties:
name: test
exampleScaleSet:
type: azure:compute:ScaleSet
name: example
properties:
name: test
storageProfileImageReference:
id: ${example.id}
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",
TenantId = "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"),
TenantId: 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")
.tenantId("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=[{
"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",
}],
upgrade_policy_mode="string",
storage_profile_os_disk={
"createOption": "string",
"caching": "string",
"image": "string",
"managedDiskType": "string",
"name": "string",
"osType": "string",
"vhdContainers": ["string"],
},
sku={
"capacity": 0,
"name": "string",
"tier": "string",
},
resource_group_name="string",
os_profile={
"adminUsername": "string",
"computerNamePrefix": "string",
"adminPassword": "string",
"customData": "string",
},
location="string",
proximity_placement_group_id="string",
name="string",
license_type="string",
identity={
"type": "string",
"identityIds": ["string"],
"principalId": "string",
"tenantId": "string",
},
os_profile_linux_config={
"disablePasswordAuthentication": False,
"sshKeys": [{
"path": "string",
"keyData": "string",
}],
},
os_profile_secrets=[{
"sourceVaultId": "string",
"vaultCertificates": [{
"certificateUrl": "string",
"certificateStore": "string",
}],
}],
os_profile_windows_config={
"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",
automatic_os_upgrade=False,
health_probe_id="string",
rolling_upgrade_policy={
"maxBatchInstancePercent": 0,
"maxUnhealthyInstancePercent": 0,
"maxUnhealthyUpgradedInstancePercent": 0,
"pauseTimeBetweenBatches": "string",
},
single_placement_group=False,
extensions=[{
"name": "string",
"publisher": "string",
"type": "string",
"typeHandlerVersion": "string",
"autoUpgradeMinorVersion": False,
"protectedSettings": "string",
"provisionAfterExtensions": ["string"],
"settings": "string",
}],
storage_profile_data_disks=[{
"createOption": "string",
"lun": 0,
"caching": "string",
"diskSizeGb": 0,
"managedDiskType": "string",
}],
storage_profile_image_reference={
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string",
},
eviction_policy="string",
tags={
"string": "string",
},
boot_diagnostics={
"storageUri": "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",
tenantId: "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
tenantId: 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
The ScaleSet resource accepts the following input properties:
- Network
Profiles List<ScaleSet Network Profile> - A collection of
network_profile
blocks as documented below. - Os
Profile ScaleSet Os Profile - A
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_mode
is set toRolling
. Defaults tofalse
. - Boot
Diagnostics ScaleSet Boot Diagnostics - A
boot_diagnostics
block as referenced below. - Eviction
Policy string Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- Extensions
List<Scale
Set Extension> - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - Health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - Identity
Scale
Set Identity - An
identity
block as defined below. - License
Type string - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
os_profile_linux_config
block as documented below. - Os
Profile List<ScaleSecrets Set Os Profile Secret> - A collection of
os_profile_secrets
blocks as documented below. - Os
Profile ScaleWindows Config Set Os Profile Windows Config - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- Network
Profiles []ScaleSet Network Profile Args - A collection of
network_profile
blocks as documented below. - Os
Profile ScaleSet Os Profile Args - A
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_mode
is set toRolling
. Defaults tofalse
. - Boot
Diagnostics ScaleSet Boot Diagnostics Args - A
boot_diagnostics
block as referenced below. - Eviction
Policy string Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- Extensions
[]Scale
Set Extension Args - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - Health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - Identity
Scale
Set Identity Args - An
identity
block as defined below. - License
Type string - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
os_profile_linux_config
block as documented below. - Os
Profile []ScaleSecrets Set Os Profile Secret Args - A collection of
os_profile_secrets
blocks as documented below. - Os
Profile ScaleWindows Config Set Os Profile Windows Config Args - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- network
Profiles List<ScaleSet Network Profile> - A collection of
network_profile
blocks as documented below. - os
Profile ScaleSet Os Profile - A
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_mode
is set toRolling
. Defaults tofalse
. - boot
Diagnostics ScaleSet Boot Diagnostics - A
boot_diagnostics
block as referenced below. - eviction
Policy String Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- extensions
List<Scale
Set Extension> - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - health
Probe StringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - identity
Scale
Set Identity - An
identity
block as defined below. - license
Type String - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
os_profile_linux_config
block as documented below. - os
Profile List<ScaleSecrets Set Os Profile Secret> - A collection of
os_profile_secrets
blocks as documented below. - os
Profile ScaleWindows Config Set Os Profile Windows Config - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- network
Profiles ScaleSet Network Profile[] - A collection of
network_profile
blocks as documented below. - os
Profile ScaleSet Os Profile - A
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_mode
is set toRolling
. Defaults tofalse
. - boot
Diagnostics ScaleSet Boot Diagnostics - A
boot_diagnostics
block as referenced below. - eviction
Policy string Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- extensions
Scale
Set Extension[] - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - identity
Scale
Set Identity - An
identity
block as defined below. - license
Type string - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
os_profile_linux_config
block as documented below. - os
Profile ScaleSecrets Set Os Profile Secret[] - A collection of
os_profile_secrets
blocks as documented below. - os
Profile ScaleWindows Config Set Os Profile Windows Config - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- network_
profiles Sequence[ScaleSet Network Profile Args] - A collection of
network_profile
blocks as documented below. - os_
profile ScaleSet Os Profile Args - A
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_mode
is set toRolling
. Defaults tofalse
. - boot_
diagnostics ScaleSet Boot Diagnostics Args - A
boot_diagnostics
block as referenced below. - eviction_
policy str Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- extensions
Sequence[Scale
Set Extension Args] - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - health_
probe_ strid - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - identity
Scale
Set Identity Args - An
identity
block as defined below. - license_
type str - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
os_profile_linux_config
block as documented below. - os_
profile_ Sequence[Scalesecrets Set Os Profile Secret Args] - A collection of
os_profile_secrets
blocks as documented below. - os_
profile_ Scalewindows_ config Set Os Profile Windows Config Args - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- network
Profiles List<Property Map> - A collection of
network_profile
blocks as documented below. - os
Profile Property Map - A
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_mode
is set toRolling
. Defaults tofalse
. - boot
Diagnostics Property Map - A
boot_diagnostics
block as referenced below. - eviction
Policy String Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- extensions List<Property Map>
- Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - health
Probe StringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - identity Property Map
- An
identity
block as defined below. - license
Type String - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
os_profile_linux_config
block as documented below. - os
Profile List<Property Map>Secrets - A collection of
os_profile_secrets
blocks as documented below. - os
Profile Property MapWindows Config - A
os_profile_windows_config
block as documented below. - overprovision Boolean
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true
. - plan Property Map
- A
plan
block as documented below. - priority String
- Specifies the priority for the Virtual Machines in the Scale Set. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
Outputs
All input properties are implicitly available as output properties. Additionally, the ScaleSet resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing ScaleSet Resource
Get an existing ScaleSet resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ScaleSetState, opts?: CustomResourceOptions): ScaleSet
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
automatic_os_upgrade: Optional[bool] = None,
boot_diagnostics: Optional[ScaleSetBootDiagnosticsArgs] = None,
eviction_policy: Optional[str] = None,
extensions: Optional[Sequence[ScaleSetExtensionArgs]] = None,
health_probe_id: Optional[str] = None,
identity: Optional[ScaleSetIdentityArgs] = None,
license_type: Optional[str] = None,
location: Optional[str] = None,
name: Optional[str] = None,
network_profiles: Optional[Sequence[ScaleSetNetworkProfileArgs]] = None,
os_profile: Optional[ScaleSetOsProfileArgs] = None,
os_profile_linux_config: Optional[ScaleSetOsProfileLinuxConfigArgs] = None,
os_profile_secrets: Optional[Sequence[ScaleSetOsProfileSecretArgs]] = None,
os_profile_windows_config: Optional[ScaleSetOsProfileWindowsConfigArgs] = None,
overprovision: Optional[bool] = None,
plan: Optional[ScaleSetPlanArgs] = None,
priority: Optional[str] = None,
proximity_placement_group_id: Optional[str] = None,
resource_group_name: Optional[str] = None,
rolling_upgrade_policy: Optional[ScaleSetRollingUpgradePolicyArgs] = None,
single_placement_group: Optional[bool] = None,
sku: Optional[ScaleSetSkuArgs] = None,
storage_profile_data_disks: Optional[Sequence[ScaleSetStorageProfileDataDiskArgs]] = None,
storage_profile_image_reference: Optional[ScaleSetStorageProfileImageReferenceArgs] = None,
storage_profile_os_disk: Optional[ScaleSetStorageProfileOsDiskArgs] = None,
tags: Optional[Mapping[str, str]] = None,
upgrade_policy_mode: Optional[str] = None,
zones: Optional[Sequence[str]] = None) -> ScaleSet
func GetScaleSet(ctx *Context, name string, id IDInput, state *ScaleSetState, opts ...ResourceOption) (*ScaleSet, error)
public static ScaleSet Get(string name, Input<string> id, ScaleSetState? state, CustomResourceOptions? opts = null)
public static ScaleSet get(String name, Output<String> id, ScaleSetState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Automatic
Os boolUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_mode
is set toRolling
. Defaults tofalse
. - Boot
Diagnostics ScaleSet Boot Diagnostics - A
boot_diagnostics
block as referenced below. - Eviction
Policy string Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- Extensions
List<Scale
Set Extension> - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - Health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - Identity
Scale
Set Identity - An
identity
block as defined below. - License
Type string - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
blocks as documented below. - Os
Profile ScaleSet Os Profile - A
os_profile
block as documented below. - Os
Profile ScaleLinux Config Set Os Profile Linux Config - A
os_profile_linux_config
block as documented below. - Os
Profile List<ScaleSecrets Set Os Profile Secret> - A collection of
os_profile_secrets
blocks as documented below. - Os
Profile ScaleWindows Config Set Os Profile Windows Config - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- Automatic
Os boolUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_mode
is set toRolling
. Defaults tofalse
. - Boot
Diagnostics ScaleSet Boot Diagnostics Args - A
boot_diagnostics
block as referenced below. - Eviction
Policy string Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- Extensions
[]Scale
Set Extension Args - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - Health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - Identity
Scale
Set Identity Args - An
identity
block as defined below. - License
Type string - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
blocks as documented below. - Os
Profile ScaleSet Os Profile Args - A
os_profile
block as documented below. - Os
Profile ScaleLinux Config Set Os Profile Linux Config Args - A
os_profile_linux_config
block as documented below. - Os
Profile []ScaleSecrets Set Os Profile Secret Args - A collection of
os_profile_secrets
blocks as documented below. - Os
Profile ScaleWindows Config Set Os Profile Windows Config Args - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- automatic
Os BooleanUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_mode
is set toRolling
. Defaults tofalse
. - boot
Diagnostics ScaleSet Boot Diagnostics - A
boot_diagnostics
block as referenced below. - eviction
Policy String Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- extensions
List<Scale
Set Extension> - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - health
Probe StringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - identity
Scale
Set Identity - An
identity
block as defined below. - license
Type String - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
blocks as documented below. - os
Profile ScaleSet Os Profile - A
os_profile
block as documented below. - os
Profile ScaleLinux Config Set Os Profile Linux Config - A
os_profile_linux_config
block as documented below. - os
Profile List<ScaleSecrets Set Os Profile Secret> - A collection of
os_profile_secrets
blocks as documented below. - os
Profile ScaleWindows Config Set Os Profile Windows Config - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- automatic
Os booleanUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_mode
is set toRolling
. Defaults tofalse
. - boot
Diagnostics ScaleSet Boot Diagnostics - A
boot_diagnostics
block as referenced below. - eviction
Policy string Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- extensions
Scale
Set Extension[] - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - health
Probe stringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - identity
Scale
Set Identity - An
identity
block as defined below. - license
Type string - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
blocks as documented below. - os
Profile ScaleSet Os Profile - A
os_profile
block as documented below. - os
Profile ScaleLinux Config Set Os Profile Linux Config - A
os_profile_linux_config
block as documented below. - os
Profile ScaleSecrets Set Os Profile Secret[] - A collection of
os_profile_secrets
blocks as documented below. - os
Profile ScaleWindows Config Set Os Profile Windows Config - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- automatic_
os_ boolupgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_mode
is set toRolling
. Defaults tofalse
. - boot_
diagnostics ScaleSet Boot Diagnostics Args - A
boot_diagnostics
block as referenced below. - eviction_
policy str Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- extensions
Sequence[Scale
Set Extension Args] - Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - health_
probe_ strid - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - identity
Scale
Set Identity Args - An
identity
block as defined below. - license_
type str - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
blocks as documented below. - os_
profile ScaleSet Os Profile Args - A
os_profile
block as documented below. - os_
profile_ Scalelinux_ config Set Os Profile Linux Config Args - A
os_profile_linux_config
block as documented below. - os_
profile_ Sequence[Scalesecrets Set Os Profile Secret Args] - A collection of
os_profile_secrets
blocks as documented below. - os_
profile_ Scalewindows_ config Set Os Profile Windows Config Args - A
os_profile_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. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
- automatic
Os BooleanUpgrade - Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when
upgrade_policy_mode
is set toRolling
. Defaults tofalse
. - boot
Diagnostics Property Map - A
boot_diagnostics
block as referenced below. - eviction
Policy String Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are
Deallocate
andDelete
. Changing this forces a new resource to be created.NOTE:
eviction_policy
can only be set whenpriority
is set toLow
.- extensions List<Property Map>
- Can be specified multiple times to add extension profiles to the scale set. Each
extension
block supports the fields documented below. - health
Probe StringId - Specifies the identifier for the load balancer health probe. Required when using
Rolling
as yourupgrade_policy_mode
. - identity Property Map
- An
identity
block as defined below. - license
Type String - (Optional, when a Windows machine) Specifies the Windows OS license type. If supplied, the only allowed values are
Windows_Client
andWindows_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
blocks as documented below. - os
Profile Property Map - A
os_profile
block as documented below. - os
Profile Property MapLinux Config - A
os_profile_linux_config
block as documented below. - os
Profile List<Property Map>Secrets - A collection of
os_profile_secrets
blocks as documented below. - os
Profile Property MapWindows Config - A
os_profile_windows_config
block as documented below. - overprovision Boolean
- Specifies whether the virtual machine scale set should be overprovisioned. Defaults to
true
. - plan Property Map
- A
plan
block as documented below. - priority String
- Specifies the priority for the Virtual Machines in the Scale Set. Possible values are
Low
andRegular
. Changing this forces a new resource to be created. - 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_policy
block as defined below. This is only applicable when theupgrade_policy_mode
isRolling
. - 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. Changing this forces a new resource to be created. See documentation for more information. Defaults to
true
. - 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. Changing this forces a new resource to be created.
NOTE: Availability Zones are only supported in several regions at this time.
Supporting Types
ScaleSetBootDiagnostics, ScaleSetBootDiagnosticsArgs
- Storage
Uri string - Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.
- Enabled bool
- Whether to enable boot diagnostics for the virtual machine. Defaults to
true
.
- Storage
Uri string - Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.
- Enabled bool
- Whether to enable boot diagnostics for the virtual machine. Defaults to
true
.
- storage
Uri String - Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.
- enabled Boolean
- Whether to enable boot diagnostics for the virtual machine. Defaults to
true
.
- storage
Uri string - Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.
- enabled boolean
- Whether to enable boot diagnostics for the virtual machine. Defaults to
true
.
- storage_
uri str - Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.
- enabled bool
- Whether to enable boot diagnostics for the virtual machine. Defaults to
true
.
- storage
Uri String - Blob endpoint for the storage account to hold the virtual machine's diagnostic files. This must be the root of a storage account, and not a storage container.
- enabled Boolean
- Whether to enable boot diagnostics for the virtual machine. Defaults to
true
.
ScaleSetExtension, 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
SystemAssigned
andUserAssigned
. For theSystemAssigned
identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values areSystemAssigned
,UserAssigned
andSystemAssigned, UserAssigned
. - Identity
Ids List<string> - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
type
isUserAssigned
.import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";
const example = new azure.compute.ScaleSet("example", { name: "vm-scaleset", resourceGroupName: exampleAzurermResourceGroup.name, location: exampleAzurermResourceGroup.location, sku: { name: vmSku, tier: "Standard", capacity: instanceCount, }, identity: { type: "SystemAssigned", }, extensions: [{ name: "MSILinuxExtension", publisher: "Microsoft.ManagedIdentity", type: "ManagedIdentityExtensionForLinux", typeHandlerVersion: "1.0", settings: "{"port": 50342}", }], }); export const principalId = example.identity.apply(identity => identity?.principalId);
import pulumi import pulumi_azure as azure example = azure.compute.ScaleSet("example", name="vm-scaleset", resource_group_name=example_azurerm_resource_group["name"], location=example_azurerm_resource_group["location"], sku={ "name": vm_sku, "tier": "Standard", "capacity": instance_count, }, identity={ "type": "SystemAssigned", }, extensions=[{ "name": "MSILinuxExtension", "publisher": "Microsoft.ManagedIdentity", "type": "ManagedIdentityExtensionForLinux", "type_handler_version": "1.0", "settings": "{\"port\": 50342}", }]) pulumi.export("principalId", example.identity.principal_id)
using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var example = new Azure.Compute.ScaleSet("example", new() { Name = "vm-scaleset", ResourceGroupName = exampleAzurermResourceGroup.Name, Location = exampleAzurermResourceGroup.Location, Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs { Name = vmSku, Tier = "Standard", Capacity = instanceCount, }, Identity = new Azure.Compute.Inputs.ScaleSetIdentityArgs { Type = "SystemAssigned", }, Extensions = new[] { new Azure.Compute.Inputs.ScaleSetExtensionArgs { Name = "MSILinuxExtension", Publisher = "Microsoft.ManagedIdentity", Type = "ManagedIdentityExtensionForLinux", TypeHandlerVersion = "1.0", Settings = "{\"port\": 50342}", }, }, }); return new Dictionary<string, object?> { ["principalId"] = example.Identity.Apply(identity => identity?.PrincipalId), }; });
package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := compute.NewScaleSet(ctx, "example", &compute.ScaleSetArgs{ Name: pulumi.String("vm-scaleset"), ResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name), Location: pulumi.Any(exampleAzurermResourceGroup.Location), Sku: &compute.ScaleSetSkuArgs{ Name: pulumi.Any(vmSku), Tier: pulumi.String("Standard"), Capacity: pulumi.Any(instanceCount), }, Identity: &compute.ScaleSetIdentityArgs{ Type: pulumi.String("SystemAssigned"), }, Extensions: compute.ScaleSetExtensionArray{ &compute.ScaleSetExtensionArgs{ Name: pulumi.String("MSILinuxExtension"), Publisher: pulumi.String("Microsoft.ManagedIdentity"), Type: pulumi.String("ManagedIdentityExtensionForLinux"), TypeHandlerVersion: pulumi.String("1.0"), Settings: pulumi.String("{\"port\": 50342}"), }, }, }) if err != nil { return err } ctx.Export("principalId", example.Identity.ApplyT(func(identity compute.ScaleSetIdentity) (*string, error) { return &identity.PrincipalId, nil }).(pulumi.StringPtrOutput)) return nil }) }
package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.compute.ScaleSet; import com.pulumi.azure.compute.ScaleSetArgs; import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs; import com.pulumi.azure.compute.inputs.ScaleSetIdentityArgs; import com.pulumi.azure.compute.inputs.ScaleSetExtensionArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new ScaleSet("example", ScaleSetArgs.builder() .name("vm-scaleset") .resourceGroupName(exampleAzurermResourceGroup.name()) .location(exampleAzurermResourceGroup.location()) .sku(ScaleSetSkuArgs.builder() .name(vmSku) .tier("Standard") .capacity(instanceCount) .build()) .identity(ScaleSetIdentityArgs.builder() .type("SystemAssigned") .build()) .extensions(ScaleSetExtensionArgs.builder() .name("MSILinuxExtension") .publisher("Microsoft.ManagedIdentity") .type("ManagedIdentityExtensionForLinux") .typeHandlerVersion("1.0") .settings("{\"port\": 50342}") .build()) .build()); ctx.export("principalId", example.identity().applyValue(identity -> identity.principalId())); } }
resources: example: type: azure:compute:ScaleSet properties: name: vm-scaleset resourceGroupName: ${exampleAzurermResourceGroup.name} location: ${exampleAzurermResourceGroup.location} sku: name: ${vmSku} tier: Standard capacity: ${instanceCount} identity: type: SystemAssigned extensions: - name: MSILinuxExtension publisher: Microsoft.ManagedIdentity type: ManagedIdentityExtensionForLinux typeHandlerVersion: '1.0' settings: '{"port": 50342}' outputs: principalId: ${example.identity.principalId}
title="Optional"> <span id="principalid_csharp">
Principal
Id string- Tenant
Id string
- Type string
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssigned
andUserAssigned
. For theSystemAssigned
identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values areSystemAssigned
,UserAssigned
andSystemAssigned, UserAssigned
. - Identity
Ids []string - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
type
isUserAssigned
.import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";
const example = new azure.compute.ScaleSet("example", { name: "vm-scaleset", resourceGroupName: exampleAzurermResourceGroup.name, location: exampleAzurermResourceGroup.location, sku: { name: vmSku, tier: "Standard", capacity: instanceCount, }, identity: { type: "SystemAssigned", }, extensions: [{ name: "MSILinuxExtension", publisher: "Microsoft.ManagedIdentity", type: "ManagedIdentityExtensionForLinux", typeHandlerVersion: "1.0", settings: "{"port": 50342}", }], }); export const principalId = example.identity.apply(identity => identity?.principalId);
import pulumi import pulumi_azure as azure example = azure.compute.ScaleSet("example", name="vm-scaleset", resource_group_name=example_azurerm_resource_group["name"], location=example_azurerm_resource_group["location"], sku={ "name": vm_sku, "tier": "Standard", "capacity": instance_count, }, identity={ "type": "SystemAssigned", }, extensions=[{ "name": "MSILinuxExtension", "publisher": "Microsoft.ManagedIdentity", "type": "ManagedIdentityExtensionForLinux", "type_handler_version": "1.0", "settings": "{\"port\": 50342}", }]) pulumi.export("principalId", example.identity.principal_id)
using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var example = new Azure.Compute.ScaleSet("example", new() { Name = "vm-scaleset", ResourceGroupName = exampleAzurermResourceGroup.Name, Location = exampleAzurermResourceGroup.Location, Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs { Name = vmSku, Tier = "Standard", Capacity = instanceCount, }, Identity = new Azure.Compute.Inputs.ScaleSetIdentityArgs { Type = "SystemAssigned", }, Extensions = new[] { new Azure.Compute.Inputs.ScaleSetExtensionArgs { Name = "MSILinuxExtension", Publisher = "Microsoft.ManagedIdentity", Type = "ManagedIdentityExtensionForLinux", TypeHandlerVersion = "1.0", Settings = "{\"port\": 50342}", }, }, }); return new Dictionary<string, object?> { ["principalId"] = example.Identity.Apply(identity => identity?.PrincipalId), }; });
package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := compute.NewScaleSet(ctx, "example", &compute.ScaleSetArgs{ Name: pulumi.String("vm-scaleset"), ResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name), Location: pulumi.Any(exampleAzurermResourceGroup.Location), Sku: &compute.ScaleSetSkuArgs{ Name: pulumi.Any(vmSku), Tier: pulumi.String("Standard"), Capacity: pulumi.Any(instanceCount), }, Identity: &compute.ScaleSetIdentityArgs{ Type: pulumi.String("SystemAssigned"), }, Extensions: compute.ScaleSetExtensionArray{ &compute.ScaleSetExtensionArgs{ Name: pulumi.String("MSILinuxExtension"), Publisher: pulumi.String("Microsoft.ManagedIdentity"), Type: pulumi.String("ManagedIdentityExtensionForLinux"), TypeHandlerVersion: pulumi.String("1.0"), Settings: pulumi.String("{\"port\": 50342}"), }, }, }) if err != nil { return err } ctx.Export("principalId", example.Identity.ApplyT(func(identity compute.ScaleSetIdentity) (*string, error) { return &identity.PrincipalId, nil }).(pulumi.StringPtrOutput)) return nil }) }
package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.compute.ScaleSet; import com.pulumi.azure.compute.ScaleSetArgs; import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs; import com.pulumi.azure.compute.inputs.ScaleSetIdentityArgs; import com.pulumi.azure.compute.inputs.ScaleSetExtensionArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new ScaleSet("example", ScaleSetArgs.builder() .name("vm-scaleset") .resourceGroupName(exampleAzurermResourceGroup.name()) .location(exampleAzurermResourceGroup.location()) .sku(ScaleSetSkuArgs.builder() .name(vmSku) .tier("Standard") .capacity(instanceCount) .build()) .identity(ScaleSetIdentityArgs.builder() .type("SystemAssigned") .build()) .extensions(ScaleSetExtensionArgs.builder() .name("MSILinuxExtension") .publisher("Microsoft.ManagedIdentity") .type("ManagedIdentityExtensionForLinux") .typeHandlerVersion("1.0") .settings("{\"port\": 50342}") .build()) .build()); ctx.export("principalId", example.identity().applyValue(identity -> identity.principalId())); } }
resources: example: type: azure:compute:ScaleSet properties: name: vm-scaleset resourceGroupName: ${exampleAzurermResourceGroup.name} location: ${exampleAzurermResourceGroup.location} sku: name: ${vmSku} tier: Standard capacity: ${instanceCount} identity: type: SystemAssigned extensions: - name: MSILinuxExtension publisher: Microsoft.ManagedIdentity type: ManagedIdentityExtensionForLinux typeHandlerVersion: '1.0' settings: '{"port": 50342}' outputs: principalId: ${example.identity.principalId}
title="Optional"> <span id="principalid_go">
Principal
Id string- Tenant
Id string
- type String
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssigned
andUserAssigned
. For theSystemAssigned
identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values areSystemAssigned
,UserAssigned
andSystemAssigned, UserAssigned
. - identity
Ids List<String> - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
type
isUserAssigned
.import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";
const example = new azure.compute.ScaleSet("example", { name: "vm-scaleset", resourceGroupName: exampleAzurermResourceGroup.name, location: exampleAzurermResourceGroup.location, sku: { name: vmSku, tier: "Standard", capacity: instanceCount, }, identity: { type: "SystemAssigned", }, extensions: [{ name: "MSILinuxExtension", publisher: "Microsoft.ManagedIdentity", type: "ManagedIdentityExtensionForLinux", typeHandlerVersion: "1.0", settings: "{"port": 50342}", }], }); export const principalId = example.identity.apply(identity => identity?.principalId);
import pulumi import pulumi_azure as azure example = azure.compute.ScaleSet("example", name="vm-scaleset", resource_group_name=example_azurerm_resource_group["name"], location=example_azurerm_resource_group["location"], sku={ "name": vm_sku, "tier": "Standard", "capacity": instance_count, }, identity={ "type": "SystemAssigned", }, extensions=[{ "name": "MSILinuxExtension", "publisher": "Microsoft.ManagedIdentity", "type": "ManagedIdentityExtensionForLinux", "type_handler_version": "1.0", "settings": "{\"port\": 50342}", }]) pulumi.export("principalId", example.identity.principal_id)
using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var example = new Azure.Compute.ScaleSet("example", new() { Name = "vm-scaleset", ResourceGroupName = exampleAzurermResourceGroup.Name, Location = exampleAzurermResourceGroup.Location, Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs { Name = vmSku, Tier = "Standard", Capacity = instanceCount, }, Identity = new Azure.Compute.Inputs.ScaleSetIdentityArgs { Type = "SystemAssigned", }, Extensions = new[] { new Azure.Compute.Inputs.ScaleSetExtensionArgs { Name = "MSILinuxExtension", Publisher = "Microsoft.ManagedIdentity", Type = "ManagedIdentityExtensionForLinux", TypeHandlerVersion = "1.0", Settings = "{\"port\": 50342}", }, }, }); return new Dictionary<string, object?> { ["principalId"] = example.Identity.Apply(identity => identity?.PrincipalId), }; });
package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := compute.NewScaleSet(ctx, "example", &compute.ScaleSetArgs{ Name: pulumi.String("vm-scaleset"), ResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name), Location: pulumi.Any(exampleAzurermResourceGroup.Location), Sku: &compute.ScaleSetSkuArgs{ Name: pulumi.Any(vmSku), Tier: pulumi.String("Standard"), Capacity: pulumi.Any(instanceCount), }, Identity: &compute.ScaleSetIdentityArgs{ Type: pulumi.String("SystemAssigned"), }, Extensions: compute.ScaleSetExtensionArray{ &compute.ScaleSetExtensionArgs{ Name: pulumi.String("MSILinuxExtension"), Publisher: pulumi.String("Microsoft.ManagedIdentity"), Type: pulumi.String("ManagedIdentityExtensionForLinux"), TypeHandlerVersion: pulumi.String("1.0"), Settings: pulumi.String("{\"port\": 50342}"), }, }, }) if err != nil { return err } ctx.Export("principalId", example.Identity.ApplyT(func(identity compute.ScaleSetIdentity) (*string, error) { return &identity.PrincipalId, nil }).(pulumi.StringPtrOutput)) return nil }) }
package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.compute.ScaleSet; import com.pulumi.azure.compute.ScaleSetArgs; import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs; import com.pulumi.azure.compute.inputs.ScaleSetIdentityArgs; import com.pulumi.azure.compute.inputs.ScaleSetExtensionArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new ScaleSet("example", ScaleSetArgs.builder() .name("vm-scaleset") .resourceGroupName(exampleAzurermResourceGroup.name()) .location(exampleAzurermResourceGroup.location()) .sku(ScaleSetSkuArgs.builder() .name(vmSku) .tier("Standard") .capacity(instanceCount) .build()) .identity(ScaleSetIdentityArgs.builder() .type("SystemAssigned") .build()) .extensions(ScaleSetExtensionArgs.builder() .name("MSILinuxExtension") .publisher("Microsoft.ManagedIdentity") .type("ManagedIdentityExtensionForLinux") .typeHandlerVersion("1.0") .settings("{\"port\": 50342}") .build()) .build()); ctx.export("principalId", example.identity().applyValue(identity -> identity.principalId())); } }
resources: example: type: azure:compute:ScaleSet properties: name: vm-scaleset resourceGroupName: ${exampleAzurermResourceGroup.name} location: ${exampleAzurermResourceGroup.location} sku: name: ${vmSku} tier: Standard capacity: ${instanceCount} identity: type: SystemAssigned extensions: - name: MSILinuxExtension publisher: Microsoft.ManagedIdentity type: ManagedIdentityExtensionForLinux typeHandlerVersion: '1.0' settings: '{"port": 50342}' outputs: principalId: ${example.identity.principalId}
title="Optional"> <span id="principalid_java">
principal
Id String- tenant
Id String
- type string
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssigned
andUserAssigned
. For theSystemAssigned
identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values areSystemAssigned
,UserAssigned
andSystemAssigned, UserAssigned
. - identity
Ids string[] - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
type
isUserAssigned
.import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";
const example = new azure.compute.ScaleSet("example", { name: "vm-scaleset", resourceGroupName: exampleAzurermResourceGroup.name, location: exampleAzurermResourceGroup.location, sku: { name: vmSku, tier: "Standard", capacity: instanceCount, }, identity: { type: "SystemAssigned", }, extensions: [{ name: "MSILinuxExtension", publisher: "Microsoft.ManagedIdentity", type: "ManagedIdentityExtensionForLinux", typeHandlerVersion: "1.0", settings: "{"port": 50342}", }], }); export const principalId = example.identity.apply(identity => identity?.principalId);
import pulumi import pulumi_azure as azure example = azure.compute.ScaleSet("example", name="vm-scaleset", resource_group_name=example_azurerm_resource_group["name"], location=example_azurerm_resource_group["location"], sku={ "name": vm_sku, "tier": "Standard", "capacity": instance_count, }, identity={ "type": "SystemAssigned", }, extensions=[{ "name": "MSILinuxExtension", "publisher": "Microsoft.ManagedIdentity", "type": "ManagedIdentityExtensionForLinux", "type_handler_version": "1.0", "settings": "{\"port\": 50342}", }]) pulumi.export("principalId", example.identity.principal_id)
using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var example = new Azure.Compute.ScaleSet("example", new() { Name = "vm-scaleset", ResourceGroupName = exampleAzurermResourceGroup.Name, Location = exampleAzurermResourceGroup.Location, Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs { Name = vmSku, Tier = "Standard", Capacity = instanceCount, }, Identity = new Azure.Compute.Inputs.ScaleSetIdentityArgs { Type = "SystemAssigned", }, Extensions = new[] { new Azure.Compute.Inputs.ScaleSetExtensionArgs { Name = "MSILinuxExtension", Publisher = "Microsoft.ManagedIdentity", Type = "ManagedIdentityExtensionForLinux", TypeHandlerVersion = "1.0", Settings = "{\"port\": 50342}", }, }, }); return new Dictionary<string, object?> { ["principalId"] = example.Identity.Apply(identity => identity?.PrincipalId), }; });
package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := compute.NewScaleSet(ctx, "example", &compute.ScaleSetArgs{ Name: pulumi.String("vm-scaleset"), ResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name), Location: pulumi.Any(exampleAzurermResourceGroup.Location), Sku: &compute.ScaleSetSkuArgs{ Name: pulumi.Any(vmSku), Tier: pulumi.String("Standard"), Capacity: pulumi.Any(instanceCount), }, Identity: &compute.ScaleSetIdentityArgs{ Type: pulumi.String("SystemAssigned"), }, Extensions: compute.ScaleSetExtensionArray{ &compute.ScaleSetExtensionArgs{ Name: pulumi.String("MSILinuxExtension"), Publisher: pulumi.String("Microsoft.ManagedIdentity"), Type: pulumi.String("ManagedIdentityExtensionForLinux"), TypeHandlerVersion: pulumi.String("1.0"), Settings: pulumi.String("{\"port\": 50342}"), }, }, }) if err != nil { return err } ctx.Export("principalId", example.Identity.ApplyT(func(identity compute.ScaleSetIdentity) (*string, error) { return &identity.PrincipalId, nil }).(pulumi.StringPtrOutput)) return nil }) }
package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.compute.ScaleSet; import com.pulumi.azure.compute.ScaleSetArgs; import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs; import com.pulumi.azure.compute.inputs.ScaleSetIdentityArgs; import com.pulumi.azure.compute.inputs.ScaleSetExtensionArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new ScaleSet("example", ScaleSetArgs.builder() .name("vm-scaleset") .resourceGroupName(exampleAzurermResourceGroup.name()) .location(exampleAzurermResourceGroup.location()) .sku(ScaleSetSkuArgs.builder() .name(vmSku) .tier("Standard") .capacity(instanceCount) .build()) .identity(ScaleSetIdentityArgs.builder() .type("SystemAssigned") .build()) .extensions(ScaleSetExtensionArgs.builder() .name("MSILinuxExtension") .publisher("Microsoft.ManagedIdentity") .type("ManagedIdentityExtensionForLinux") .typeHandlerVersion("1.0") .settings("{\"port\": 50342}") .build()) .build()); ctx.export("principalId", example.identity().applyValue(identity -> identity.principalId())); } }
resources: example: type: azure:compute:ScaleSet properties: name: vm-scaleset resourceGroupName: ${exampleAzurermResourceGroup.name} location: ${exampleAzurermResourceGroup.location} sku: name: ${vmSku} tier: Standard capacity: ${instanceCount} identity: type: SystemAssigned extensions: - name: MSILinuxExtension publisher: Microsoft.ManagedIdentity type: ManagedIdentityExtensionForLinux typeHandlerVersion: '1.0' settings: '{"port": 50342}' outputs: principalId: ${example.identity.principalId}
title="Optional"> <span id="principalid_nodejs">
principal
Id string- tenant
Id string
- type str
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssigned
andUserAssigned
. For theSystemAssigned
identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values areSystemAssigned
,UserAssigned
andSystemAssigned, UserAssigned
. - identity_
ids Sequence[str] - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
type
isUserAssigned
.import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";
const example = new azure.compute.ScaleSet("example", { name: "vm-scaleset", resourceGroupName: exampleAzurermResourceGroup.name, location: exampleAzurermResourceGroup.location, sku: { name: vmSku, tier: "Standard", capacity: instanceCount, }, identity: { type: "SystemAssigned", }, extensions: [{ name: "MSILinuxExtension", publisher: "Microsoft.ManagedIdentity", type: "ManagedIdentityExtensionForLinux", typeHandlerVersion: "1.0", settings: "{"port": 50342}", }], }); export const principalId = example.identity.apply(identity => identity?.principalId);
import pulumi import pulumi_azure as azure example = azure.compute.ScaleSet("example", name="vm-scaleset", resource_group_name=example_azurerm_resource_group["name"], location=example_azurerm_resource_group["location"], sku={ "name": vm_sku, "tier": "Standard", "capacity": instance_count, }, identity={ "type": "SystemAssigned", }, extensions=[{ "name": "MSILinuxExtension", "publisher": "Microsoft.ManagedIdentity", "type": "ManagedIdentityExtensionForLinux", "type_handler_version": "1.0", "settings": "{\"port\": 50342}", }]) pulumi.export("principalId", example.identity.principal_id)
using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var example = new Azure.Compute.ScaleSet("example", new() { Name = "vm-scaleset", ResourceGroupName = exampleAzurermResourceGroup.Name, Location = exampleAzurermResourceGroup.Location, Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs { Name = vmSku, Tier = "Standard", Capacity = instanceCount, }, Identity = new Azure.Compute.Inputs.ScaleSetIdentityArgs { Type = "SystemAssigned", }, Extensions = new[] { new Azure.Compute.Inputs.ScaleSetExtensionArgs { Name = "MSILinuxExtension", Publisher = "Microsoft.ManagedIdentity", Type = "ManagedIdentityExtensionForLinux", TypeHandlerVersion = "1.0", Settings = "{\"port\": 50342}", }, }, }); return new Dictionary<string, object?> { ["principalId"] = example.Identity.Apply(identity => identity?.PrincipalId), }; });
package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := compute.NewScaleSet(ctx, "example", &compute.ScaleSetArgs{ Name: pulumi.String("vm-scaleset"), ResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name), Location: pulumi.Any(exampleAzurermResourceGroup.Location), Sku: &compute.ScaleSetSkuArgs{ Name: pulumi.Any(vmSku), Tier: pulumi.String("Standard"), Capacity: pulumi.Any(instanceCount), }, Identity: &compute.ScaleSetIdentityArgs{ Type: pulumi.String("SystemAssigned"), }, Extensions: compute.ScaleSetExtensionArray{ &compute.ScaleSetExtensionArgs{ Name: pulumi.String("MSILinuxExtension"), Publisher: pulumi.String("Microsoft.ManagedIdentity"), Type: pulumi.String("ManagedIdentityExtensionForLinux"), TypeHandlerVersion: pulumi.String("1.0"), Settings: pulumi.String("{\"port\": 50342}"), }, }, }) if err != nil { return err } ctx.Export("principalId", example.Identity.ApplyT(func(identity compute.ScaleSetIdentity) (*string, error) { return &identity.PrincipalId, nil }).(pulumi.StringPtrOutput)) return nil }) }
package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.compute.ScaleSet; import com.pulumi.azure.compute.ScaleSetArgs; import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs; import com.pulumi.azure.compute.inputs.ScaleSetIdentityArgs; import com.pulumi.azure.compute.inputs.ScaleSetExtensionArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new ScaleSet("example", ScaleSetArgs.builder() .name("vm-scaleset") .resourceGroupName(exampleAzurermResourceGroup.name()) .location(exampleAzurermResourceGroup.location()) .sku(ScaleSetSkuArgs.builder() .name(vmSku) .tier("Standard") .capacity(instanceCount) .build()) .identity(ScaleSetIdentityArgs.builder() .type("SystemAssigned") .build()) .extensions(ScaleSetExtensionArgs.builder() .name("MSILinuxExtension") .publisher("Microsoft.ManagedIdentity") .type("ManagedIdentityExtensionForLinux") .typeHandlerVersion("1.0") .settings("{\"port\": 50342}") .build()) .build()); ctx.export("principalId", example.identity().applyValue(identity -> identity.principalId())); } }
resources: example: type: azure:compute:ScaleSet properties: name: vm-scaleset resourceGroupName: ${exampleAzurermResourceGroup.name} location: ${exampleAzurermResourceGroup.location} sku: name: ${vmSku} tier: Standard capacity: ${instanceCount} identity: type: SystemAssigned extensions: - name: MSILinuxExtension publisher: Microsoft.ManagedIdentity type: ManagedIdentityExtensionForLinux typeHandlerVersion: '1.0' settings: '{"port": 50342}' outputs: principalId: ${example.identity.principalId}
title="Optional"> <span id="principal_id_python">
principal_
id str- tenant_
id str
- type String
- Specifies the identity type to be assigned to the scale set. Allowable values are
SystemAssigned
andUserAssigned
. For theSystemAssigned
identity the scale set's Service Principal ID (SPN) can be retrieved after the scale set has been created. See documentation for more information. Possible values areSystemAssigned
,UserAssigned
andSystemAssigned, UserAssigned
. - identity
Ids List<String> - Specifies a list of user managed identity ids to be assigned to the VMSS. Required if
type
isUserAssigned
.import * as pulumi from "@pulumi/pulumi"; import * as azure from "@pulumi/azure";
const example = new azure.compute.ScaleSet("example", { name: "vm-scaleset", resourceGroupName: exampleAzurermResourceGroup.name, location: exampleAzurermResourceGroup.location, sku: { name: vmSku, tier: "Standard", capacity: instanceCount, }, identity: { type: "SystemAssigned", }, extensions: [{ name: "MSILinuxExtension", publisher: "Microsoft.ManagedIdentity", type: "ManagedIdentityExtensionForLinux", typeHandlerVersion: "1.0", settings: "{"port": 50342}", }], }); export const principalId = example.identity.apply(identity => identity?.principalId);
import pulumi import pulumi_azure as azure example = azure.compute.ScaleSet("example", name="vm-scaleset", resource_group_name=example_azurerm_resource_group["name"], location=example_azurerm_resource_group["location"], sku={ "name": vm_sku, "tier": "Standard", "capacity": instance_count, }, identity={ "type": "SystemAssigned", }, extensions=[{ "name": "MSILinuxExtension", "publisher": "Microsoft.ManagedIdentity", "type": "ManagedIdentityExtensionForLinux", "type_handler_version": "1.0", "settings": "{\"port\": 50342}", }]) pulumi.export("principalId", example.identity.principal_id)
using System.Collections.Generic; using System.Linq; using Pulumi; using Azure = Pulumi.Azure; return await Deployment.RunAsync(() => { var example = new Azure.Compute.ScaleSet("example", new() { Name = "vm-scaleset", ResourceGroupName = exampleAzurermResourceGroup.Name, Location = exampleAzurermResourceGroup.Location, Sku = new Azure.Compute.Inputs.ScaleSetSkuArgs { Name = vmSku, Tier = "Standard", Capacity = instanceCount, }, Identity = new Azure.Compute.Inputs.ScaleSetIdentityArgs { Type = "SystemAssigned", }, Extensions = new[] { new Azure.Compute.Inputs.ScaleSetExtensionArgs { Name = "MSILinuxExtension", Publisher = "Microsoft.ManagedIdentity", Type = "ManagedIdentityExtensionForLinux", TypeHandlerVersion = "1.0", Settings = "{\"port\": 50342}", }, }, }); return new Dictionary<string, object?> { ["principalId"] = example.Identity.Apply(identity => identity?.PrincipalId), }; });
package main import ( "github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := compute.NewScaleSet(ctx, "example", &compute.ScaleSetArgs{ Name: pulumi.String("vm-scaleset"), ResourceGroupName: pulumi.Any(exampleAzurermResourceGroup.Name), Location: pulumi.Any(exampleAzurermResourceGroup.Location), Sku: &compute.ScaleSetSkuArgs{ Name: pulumi.Any(vmSku), Tier: pulumi.String("Standard"), Capacity: pulumi.Any(instanceCount), }, Identity: &compute.ScaleSetIdentityArgs{ Type: pulumi.String("SystemAssigned"), }, Extensions: compute.ScaleSetExtensionArray{ &compute.ScaleSetExtensionArgs{ Name: pulumi.String("MSILinuxExtension"), Publisher: pulumi.String("Microsoft.ManagedIdentity"), Type: pulumi.String("ManagedIdentityExtensionForLinux"), TypeHandlerVersion: pulumi.String("1.0"), Settings: pulumi.String("{\"port\": 50342}"), }, }, }) if err != nil { return err } ctx.Export("principalId", example.Identity.ApplyT(func(identity compute.ScaleSetIdentity) (*string, error) { return &identity.PrincipalId, nil }).(pulumi.StringPtrOutput)) return nil }) }
package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azure.compute.ScaleSet; import com.pulumi.azure.compute.ScaleSetArgs; import com.pulumi.azure.compute.inputs.ScaleSetSkuArgs; import com.pulumi.azure.compute.inputs.ScaleSetIdentityArgs; import com.pulumi.azure.compute.inputs.ScaleSetExtensionArgs; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new ScaleSet("example", ScaleSetArgs.builder() .name("vm-scaleset") .resourceGroupName(exampleAzurermResourceGroup.name()) .location(exampleAzurermResourceGroup.location()) .sku(ScaleSetSkuArgs.builder() .name(vmSku) .tier("Standard") .capacity(instanceCount) .build()) .identity(ScaleSetIdentityArgs.builder() .type("SystemAssigned") .build()) .extensions(ScaleSetExtensionArgs.builder() .name("MSILinuxExtension") .publisher("Microsoft.ManagedIdentity") .type("ManagedIdentityExtensionForLinux") .typeHandlerVersion("1.0") .settings("{\"port\": 50342}") .build()) .build()); ctx.export("principalId", example.identity().applyValue(identity -> identity.principalId())); } }
resources: example: type: azure:compute:ScaleSet properties: name: vm-scaleset resourceGroupName: ${exampleAzurermResourceGroup.name} location: ${exampleAzurermResourceGroup.location} sku: name: ${vmSku} tier: Standard capacity: ${instanceCount} identity: type: SystemAssigned extensions: - name: MSILinuxExtension publisher: Microsoft.ManagedIdentity type: ManagedIdentityExtensionForLinux typeHandlerVersion: '1.0' settings: '{"port": 50342}' outputs: principalId: ${example.identity.principalId}
title="Optional"> <span id="principalid_yaml">
principal
Id String- tenant
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
20
application 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- Load
Balancer 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- 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
block 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
20
application 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- Load
Balancer []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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- 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
block 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
20
application 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- load
Balancer 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- 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
block 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
20
application 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- load
Balancer 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- 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
block 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
20
application 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- load_
balancer_ 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- 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
block 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
20
application 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- load
Balancer 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.
NOTE: When using this field you'll also need to configure a Rule for the Load Balancer, and use a
depends_on
between this resource and the Load Balancer Rule.- public
Ip Property MapAddress Configuration - Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration. The
public_ip_address_configuration
block 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> One or more
ssh_keys
blocks as defined below.Note: Please note that the only allowed
path
is/home/<username>/.ssh/authorized_keys
due to a limitation of Azure.NOTE: At least one
ssh_keys
block is required ifdisable_password_authentication
is set totrue
.
- 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 One or more
ssh_keys
blocks as defined below.Note: Please note that the only allowed
path
is/home/<username>/.ssh/authorized_keys
due to a limitation of Azure.NOTE: At least one
ssh_keys
block is required ifdisable_password_authentication
is set totrue
.
- 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> One or more
ssh_keys
blocks as defined below.Note: Please note that the only allowed
path
is/home/<username>/.ssh/authorized_keys
due to a limitation of Azure.NOTE: At least one
ssh_keys
block is required ifdisable_password_authentication
is set totrue
.
- 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[] One or more
ssh_keys
blocks as defined below.Note: Please note that the only allowed
path
is/home/<username>/.ssh/authorized_keys
due to a limitation of Azure.NOTE: At least one
ssh_keys
block is required ifdisable_password_authentication
is set totrue
.
- 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] One or more
ssh_keys
blocks as defined below.Note: Please note that the only allowed
path
is/home/<username>/.ssh/authorized_keys
due to a limitation of Azure.NOTE: At least one
ssh_keys
block is required ifdisable_password_authentication
is set totrue
.
- 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> One or more
ssh_keys
blocks as defined below.Note: Please note that the only allowed
path
is/home/<username>/.ssh/authorized_keys
due to a limitation of Azure.NOTE: At least one
ssh_keys
block is required ifdisable_password_authentication
is set totrue
.
ScaleSetOsProfileLinuxConfigSshKey, ScaleSetOsProfileLinuxConfigSshKeyArgs
- Path string
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.- Key
Data string The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
NOTE: Rather than defining this in-line you can source this from a local file using the
file
function - for examplekey_data = file("~/.ssh/id_rsa.pub")
.
- Path string
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.- Key
Data string The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
NOTE: Rather than defining this in-line you can source this from a local file using the
file
function - for examplekey_data = file("~/.ssh/id_rsa.pub")
.
- path String
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.- key
Data String The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
NOTE: Rather than defining this in-line you can source this from a local file using the
file
function - for examplekey_data = file("~/.ssh/id_rsa.pub")
.
- path string
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.- key
Data string The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
NOTE: Rather than defining this in-line you can source this from a local file using the
file
function - for examplekey_data = file("~/.ssh/id_rsa.pub")
.
- path str
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.- key_
data str The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
NOTE: Rather than defining this in-line you can source this from a local file using the
file
function - for examplekey_data = file("~/.ssh/id_rsa.pub")
.
- path String
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.- key
Data String The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
NOTE: Rather than defining this in-line you can source this from a local file using the
file
function - for examplekey_data = file("~/.ssh/id_rsa.pub")
.
ScaleSetOsProfileSecret, ScaleSetOsProfileSecretArgs
- Source
Vault stringId - Specifies the key vault to use.
- Vault
Certificates List<ScaleSet Os Profile Secret Vault Certificate> - (Required, on Windows machines) One or more
vault_certificates
blocks as defined below.
- Source
Vault stringId - Specifies the key vault to use.
- Vault
Certificates []ScaleSet Os Profile Secret Vault Certificate - (Required, on Windows machines) One or more
vault_certificates
blocks as defined below.
- source
Vault StringId - Specifies the key vault to use.
- vault
Certificates List<ScaleSet Os Profile Secret Vault Certificate> - (Required, on Windows machines) One or more
vault_certificates
blocks as defined below.
- source
Vault stringId - Specifies the key vault to use.
- vault
Certificates ScaleSet Os Profile Secret Vault Certificate[] - (Required, on Windows machines) One or more
vault_certificates
blocks as defined below.
- source_
vault_ strid - Specifies the key vault to use.
- vault_
certificates Sequence[ScaleSet Os Profile Secret Vault Certificate] - (Required, on Windows machines) One or more
vault_certificates
blocks as defined below.
- source
Vault StringId - Specifies the key vault to use.
- vault
Certificates List<Property Map> - (Required, on Windows machines) One or more
vault_certificates
blocks as defined 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
,dataType
andpassword
. - Certificate
Store string - (Required, on windows machines) 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
,dataType
andpassword
. - Certificate
Store string - (Required, on windows machines) 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
,dataType
andpassword
. - certificate
Store String - (Required, on windows machines) 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
,dataType
andpassword
. - certificate
Store string - (Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to.
- certificate_
url str - It is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be
data
,dataType
andpassword
. - certificate_
store str - (Required, on windows machines) 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
,dataType
andpassword
. - certificate
Store String - (Required, on windows machines) 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_unattend_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
blocks as documented below.
- Additional
Unattend []ScaleConfigs Set Os Profile Windows Config Additional Unattend Config - An
additional_unattend_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
blocks as documented below.
- additional
Unattend List<ScaleConfigs Set Os Profile Windows Config Additional Unattend Config> - An
additional_unattend_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
blocks as documented below.
- additional
Unattend ScaleConfigs Set Os Profile Windows Config Additional Unattend Config[] - An
additional_unattend_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
blocks as documented below.
- additional_
unattend_ Sequence[Scaleconfigs Set Os Profile Windows Config Additional Unattend Config] - An
additional_unattend_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
blocks as documented below.
- additional
Unattend List<Property Map>Configs - An
additional_unattend_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
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:
FirstLogonCommands
andAutoLogon
.
- 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:
FirstLogonCommands
andAutoLogon
.
- 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:
FirstLogonCommands
andAutoLogon
.
- 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:
FirstLogonCommands
andAutoLogon
.
- component str
- Specifies the name of the component to configure with the added content. The only allowable value is
Microsoft-Windows-Shell-Setup
. - content str
- Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.
- pass_ str
- Specifies the name of the pass that the content applies to. The only allowable value is
oobeSystem
. - setting_
name str - Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommands
andAutoLogon
.
- 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:
FirstLogonCommands
andAutoLogon
.
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
PT0S
seconds 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
PT0S
seconds 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
PT0S
seconds 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
PT0S
seconds 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
PT0S
seconds 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
PT0S
seconds represented asPT0S
.
ScaleSetSku, ScaleSetSkuArgs
ScaleSetStorageProfileDataDisk, ScaleSetStorageProfileDataDiskArgs
- Create
Option string - Specifies how the data disk should be created. The only possible options are
FromImage
andEmpty
. - 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_LRS
orPremium_LRS
.
- Create
Option string - Specifies how the data disk should be created. The only possible options are
FromImage
andEmpty
. - 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_LRS
orPremium_LRS
.
- create
Option String - Specifies how the data disk should be created. The only possible options are
FromImage
andEmpty
. - 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_LRS
orPremium_LRS
.
- create
Option string - Specifies how the data disk should be created. The only possible options are
FromImage
andEmpty
. - 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_LRS
orPremium_LRS
.
- create_
option str - Specifies how the data disk should be created. The only possible options are
FromImage
andEmpty
. - 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_LRS
orPremium_LRS
.
- create
Option String - Specifies how the data disk should be created. The only possible options are
FromImage
andEmpty
. - 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_LRS
orPremium_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_type
needs to be specified. Cannot be used whenvhd_containers
,managed_disk_type
orstorage_profile_image_reference
are specified. - Managed
Disk stringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
. Cannot be used whenvhd_containers
orimage
is 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
image
ormanaged_disk_type
is 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_type
needs to be specified. Cannot be used whenvhd_containers
,managed_disk_type
orstorage_profile_image_reference
are specified. - Managed
Disk stringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
. Cannot be used whenvhd_containers
orimage
is 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
image
ormanaged_disk_type
is 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_type
needs to be specified. Cannot be used whenvhd_containers
,managed_disk_type
orstorage_profile_image_reference
are specified. - managed
Disk StringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
. Cannot be used whenvhd_containers
orimage
is 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
image
ormanaged_disk_type
is 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_type
needs to be specified. Cannot be used whenvhd_containers
,managed_disk_type
orstorage_profile_image_reference
are specified. - managed
Disk stringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
. Cannot be used whenvhd_containers
orimage
is 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
image
ormanaged_disk_type
is specified.
- create_
option str - Specifies how the virtual machine should be created. The only possible option is
FromImage
. - caching str
- Specifies the caching requirements. Possible values include:
None
(default),ReadOnly
,ReadWrite
. - image str
- Specifies the blob URI for user image. A virtual machine scale set creates an os disk in the same container as the user image.
Updating the osDisk image causes the existing disk to be deleted and a new one created with the new image. If the VM scale set is in Manual upgrade mode then the virtual machines are not updated until they have manualUpgrade applied to them.
When setting this field
os_type
needs to be specified. Cannot be used whenvhd_containers
,managed_disk_type
orstorage_profile_image_reference
are specified. - managed_
disk_ strtype - Specifies the type of managed disk to create. Value you must be either
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
. Cannot be used whenvhd_containers
orimage
is specified. - name str
- Specifies the disk name. Must be specified when using unmanaged disk ('managed_disk_type' property not set).
- os_
type str - Specifies the operating system Type, valid values are windows, Linux.
- vhd_
containers Sequence[str] - Specifies the VHD URI. Cannot be used when
image
ormanaged_disk_type
is 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_type
needs to be specified. Cannot be used whenvhd_containers
,managed_disk_type
orstorage_profile_image_reference
are specified. - managed
Disk StringType - Specifies the type of managed disk to create. Value you must be either
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
. Cannot be used whenvhd_containers
orimage
is 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
image
ormanaged_disk_type
is specified.
Import
Virtual Machine Scale Sets can be imported using the resource id
, e.g.
$ pulumi import azure:compute/scaleSet:ScaleSet scaleset1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachineScaleSets/scaleset1
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurerm
Terraform Provider.