We recommend using Azure Native.
azure.compute.LinuxVirtualMachineScaleSet
Explore with Pulumi AI
Manages a Linux Virtual Machine Scale Set.
Disclaimers
Note: As of the v2.86.0 (November 19, 2021) release of the provider this resource will only create Virtual Machine Scale Sets with the Uniform Orchestration Mode. For Virtual Machine Scale Sets with Flexible orchestration mode, use
azure.compute.OrchestratedVirtualMachineScaleSet
. Flexible orchestration mode is recommended for workloads on Azure. rraform will automatically update & reimage the nodes in the Scale Set (if Required) during an Update - this behaviour can be configured using thefeatures
setting within the Provider block.
Example Usage
This example provisions a basic Linux Virtual Machine Scale Set on an internal network.
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const firstPublicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
name: "example-network",
resourceGroupName: example.name,
location: example.location,
addressSpaces: ["10.0.0.0/16"],
});
const internal = new azure.network.Subnet("internal", {
name: "internal",
resourceGroupName: example.name,
virtualNetworkName: exampleVirtualNetwork.name,
addressPrefixes: ["10.0.2.0/24"],
});
const exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet("example", {
name: "example-vmss",
resourceGroupName: example.name,
location: example.location,
sku: "Standard_F2",
instances: 1,
adminUsername: "adminuser",
adminSshKeys: [{
username: "adminuser",
publicKey: firstPublicKey,
}],
sourceImageReference: {
publisher: "Canonical",
offer: "0001-com-ubuntu-server-jammy",
sku: "22_04-lts",
version: "latest",
},
osDisk: {
storageAccountType: "Standard_LRS",
caching: "ReadWrite",
},
networkInterfaces: [{
name: "example",
primary: true,
ipConfigurations: [{
name: "internal",
primary: true,
subnetId: internal.id,
}],
}],
});
import pulumi
import pulumi_azure as azure
first_public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com"
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("example",
name="example-network",
resource_group_name=example.name,
location=example.location,
address_spaces=["10.0.0.0/16"])
internal = azure.network.Subnet("internal",
name="internal",
resource_group_name=example.name,
virtual_network_name=example_virtual_network.name,
address_prefixes=["10.0.2.0/24"])
example_linux_virtual_machine_scale_set = azure.compute.LinuxVirtualMachineScaleSet("example",
name="example-vmss",
resource_group_name=example.name,
location=example.location,
sku="Standard_F2",
instances=1,
admin_username="adminuser",
admin_ssh_keys=[{
"username": "adminuser",
"public_key": first_public_key,
}],
source_image_reference={
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest",
},
os_disk={
"storage_account_type": "Standard_LRS",
"caching": "ReadWrite",
},
network_interfaces=[{
"name": "example",
"primary": True,
"ip_configurations": [{
"name": "internal",
"primary": True,
"subnet_id": internal.id,
}],
}])
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/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
firstPublicKey := "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com"
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("example-network"),
ResourceGroupName: example.Name,
Location: example.Location,
AddressSpaces: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
})
if err != nil {
return err
}
internal, err := network.NewSubnet(ctx, "internal", &network.SubnetArgs{
Name: pulumi.String("internal"),
ResourceGroupName: example.Name,
VirtualNetworkName: exampleVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.2.0/24"),
},
})
if err != nil {
return err
}
_, err = compute.NewLinuxVirtualMachineScaleSet(ctx, "example", &compute.LinuxVirtualMachineScaleSetArgs{
Name: pulumi.String("example-vmss"),
ResourceGroupName: example.Name,
Location: example.Location,
Sku: pulumi.String("Standard_F2"),
Instances: pulumi.Int(1),
AdminUsername: pulumi.String("adminuser"),
AdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{
&compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{
Username: pulumi.String("adminuser"),
PublicKey: pulumi.String(firstPublicKey),
},
},
SourceImageReference: &compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{
Publisher: pulumi.String("Canonical"),
Offer: pulumi.String("0001-com-ubuntu-server-jammy"),
Sku: pulumi.String("22_04-lts"),
Version: pulumi.String("latest"),
},
OsDisk: &compute.LinuxVirtualMachineScaleSetOsDiskArgs{
StorageAccountType: pulumi.String("Standard_LRS"),
Caching: pulumi.String("ReadWrite"),
},
NetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{
&compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{
Name: pulumi.String("example"),
Primary: pulumi.Bool(true),
IpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
Name: pulumi.String("internal"),
Primary: pulumi.Bool(true),
SubnetId: internal.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 firstPublicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com";
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
{
Name = "example-network",
ResourceGroupName = example.Name,
Location = example.Location,
AddressSpaces = new[]
{
"10.0.0.0/16",
},
});
var @internal = new Azure.Network.Subnet("internal", new()
{
Name = "internal",
ResourceGroupName = example.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.2.0/24",
},
});
var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet("example", new()
{
Name = "example-vmss",
ResourceGroupName = example.Name,
Location = example.Location,
Sku = "Standard_F2",
Instances = 1,
AdminUsername = "adminuser",
AdminSshKeys = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs
{
Username = "adminuser",
PublicKey = firstPublicKey,
},
},
SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs
{
Publisher = "Canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest",
},
OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs
{
StorageAccountType = "Standard_LRS",
Caching = "ReadWrite",
},
NetworkInterfaces = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs
{
Name = "example",
Primary = true,
IpConfigurations = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
{
Name = "internal",
Primary = true,
SubnetId = @internal.Id,
},
},
},
},
});
});
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.compute.LinuxVirtualMachineScaleSet;
import com.pulumi.azure.compute.LinuxVirtualMachineScaleSetArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetOsDiskArgs;
import com.pulumi.azure.compute.inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs;
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) {
final var firstPublicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com";
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.name("example-network")
.resourceGroupName(example.name())
.location(example.location())
.addressSpaces("10.0.0.0/16")
.build());
var internal = new Subnet("internal", SubnetArgs.builder()
.name("internal")
.resourceGroupName(example.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.2.0/24")
.build());
var exampleLinuxVirtualMachineScaleSet = new LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", LinuxVirtualMachineScaleSetArgs.builder()
.name("example-vmss")
.resourceGroupName(example.name())
.location(example.location())
.sku("Standard_F2")
.instances(1)
.adminUsername("adminuser")
.adminSshKeys(LinuxVirtualMachineScaleSetAdminSshKeyArgs.builder()
.username("adminuser")
.publicKey(firstPublicKey)
.build())
.sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-jammy")
.sku("22_04-lts")
.version("latest")
.build())
.osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()
.storageAccountType("Standard_LRS")
.caching("ReadWrite")
.build())
.networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()
.name("example")
.primary(true)
.ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
.name("internal")
.primary(true)
.subnetId(internal.id())
.build())
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleVirtualNetwork:
type: azure:network:VirtualNetwork
name: example
properties:
name: example-network
resourceGroupName: ${example.name}
location: ${example.location}
addressSpaces:
- 10.0.0.0/16
internal:
type: azure:network:Subnet
properties:
name: internal
resourceGroupName: ${example.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.2.0/24
exampleLinuxVirtualMachineScaleSet:
type: azure:compute:LinuxVirtualMachineScaleSet
name: example
properties:
name: example-vmss
resourceGroupName: ${example.name}
location: ${example.location}
sku: Standard_F2
instances: 1
adminUsername: adminuser
adminSshKeys:
- username: adminuser
publicKey: ${firstPublicKey}
sourceImageReference:
publisher: Canonical
offer: 0001-com-ubuntu-server-jammy
sku: 22_04-lts
version: latest
osDisk:
storageAccountType: Standard_LRS
caching: ReadWrite
networkInterfaces:
- name: example
primary: true
ipConfigurations:
- name: internal
primary: true
subnetId: ${internal.id}
variables:
firstPublicKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+wWK73dCr+jgQOAxNsHAnNNNMEMWOHYEccp6wJm2gotpr9katuF/ZAdou5AaW1C61slRkHRkpRRX9FA9CYBiitZgvCCz+3nWNN7l/Up54Zps/pHWGZLHNJZRYyAB6j5yVLMVHIHriY49d/GZTZVNB8GoJv9Gakwc/fuEZYYl4YDFiGMBP///TzlI4jhiJzjKnEvqPFki5p2ZRJqcbCiF4pJrxUQR/RXqVFQdbRLZgYfJ8xGB878RENq3yQ39d8dVOkq4edbkzwcUmwwwkYVPIoDGsYLaRHnG+To7FvMeyO7xDVQkMKzopTQV8AuKpyvpqu0a9pWOMaiCyDytO7GGN you@me.com
Create LinuxVirtualMachineScaleSet Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new LinuxVirtualMachineScaleSet(name: string, args: LinuxVirtualMachineScaleSetArgs, opts?: CustomResourceOptions);
@overload
def LinuxVirtualMachineScaleSet(resource_name: str,
args: LinuxVirtualMachineScaleSetArgs,
opts: Optional[ResourceOptions] = None)
@overload
def LinuxVirtualMachineScaleSet(resource_name: str,
opts: Optional[ResourceOptions] = None,
network_interfaces: Optional[Sequence[LinuxVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
sku: Optional[str] = None,
resource_group_name: Optional[str] = None,
admin_username: Optional[str] = None,
os_disk: Optional[LinuxVirtualMachineScaleSetOsDiskArgs] = None,
max_bid_price: Optional[float] = None,
termination_notification: Optional[LinuxVirtualMachineScaleSetTerminationNotificationArgs] = None,
capacity_reservation_group_id: Optional[str] = None,
computer_name_prefix: Optional[str] = None,
custom_data: Optional[str] = None,
data_disks: Optional[Sequence[LinuxVirtualMachineScaleSetDataDiskArgs]] = None,
disable_password_authentication: Optional[bool] = None,
do_not_run_extensions_on_overprovisioned_machines: Optional[bool] = None,
edge_zone: Optional[str] = None,
encryption_at_host_enabled: Optional[bool] = None,
eviction_policy: Optional[str] = None,
extension_operations_enabled: Optional[bool] = None,
extensions: Optional[Sequence[LinuxVirtualMachineScaleSetExtensionArgs]] = None,
extensions_time_budget: Optional[str] = None,
gallery_applications: Optional[Sequence[LinuxVirtualMachineScaleSetGalleryApplicationArgs]] = None,
health_probe_id: Optional[str] = None,
host_group_id: Optional[str] = None,
identity: Optional[LinuxVirtualMachineScaleSetIdentityArgs] = None,
instances: Optional[int] = None,
location: Optional[str] = None,
additional_capabilities: Optional[LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
name: Optional[str] = None,
zone_balance: Optional[bool] = None,
boot_diagnostics: Optional[LinuxVirtualMachineScaleSetBootDiagnosticsArgs] = None,
priority: Optional[str] = None,
plan: Optional[LinuxVirtualMachineScaleSetPlanArgs] = None,
platform_fault_domain_count: Optional[int] = None,
overprovision: Optional[bool] = None,
provision_vm_agent: Optional[bool] = None,
proximity_placement_group_id: Optional[str] = None,
admin_ssh_keys: Optional[Sequence[LinuxVirtualMachineScaleSetAdminSshKeyArgs]] = None,
rolling_upgrade_policy: Optional[LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs] = None,
scale_in: Optional[LinuxVirtualMachineScaleSetScaleInArgs] = None,
secrets: Optional[Sequence[LinuxVirtualMachineScaleSetSecretArgs]] = None,
secure_boot_enabled: Optional[bool] = None,
single_placement_group: Optional[bool] = None,
admin_password: Optional[str] = None,
source_image_id: Optional[str] = None,
source_image_reference: Optional[LinuxVirtualMachineScaleSetSourceImageReferenceArgs] = None,
spot_restore: Optional[LinuxVirtualMachineScaleSetSpotRestoreArgs] = None,
tags: Optional[Mapping[str, str]] = None,
automatic_instance_repair: Optional[LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
upgrade_mode: Optional[str] = None,
user_data: Optional[str] = None,
vtpm_enabled: Optional[bool] = None,
automatic_os_upgrade_policy: Optional[LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs] = None,
zones: Optional[Sequence[str]] = None)
func NewLinuxVirtualMachineScaleSet(ctx *Context, name string, args LinuxVirtualMachineScaleSetArgs, opts ...ResourceOption) (*LinuxVirtualMachineScaleSet, error)
public LinuxVirtualMachineScaleSet(string name, LinuxVirtualMachineScaleSetArgs args, CustomResourceOptions? opts = null)
public LinuxVirtualMachineScaleSet(String name, LinuxVirtualMachineScaleSetArgs args)
public LinuxVirtualMachineScaleSet(String name, LinuxVirtualMachineScaleSetArgs args, CustomResourceOptions options)
type: azure:compute:LinuxVirtualMachineScaleSet
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 LinuxVirtualMachineScaleSetArgs
- 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 LinuxVirtualMachineScaleSetArgs
- 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 LinuxVirtualMachineScaleSetArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args LinuxVirtualMachineScaleSetArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args LinuxVirtualMachineScaleSetArgs
- 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 linuxVirtualMachineScaleSetResource = new Azure.Compute.LinuxVirtualMachineScaleSet("linuxVirtualMachineScaleSetResource", new()
{
NetworkInterfaces = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceArgs
{
IpConfigurations = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
{
Name = "string",
ApplicationGatewayBackendAddressPoolIds = new[]
{
"string",
},
ApplicationSecurityGroupIds = new[]
{
"string",
},
LoadBalancerBackendAddressPoolIds = new[]
{
"string",
},
LoadBalancerInboundNatRulesIds = new[]
{
"string",
},
Primary = false,
PublicIpAddresses = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs
{
Name = "string",
DomainNameLabel = "string",
IdleTimeoutInMinutes = 0,
IpTags = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs
{
Tag = "string",
Type = "string",
},
},
PublicIpPrefixId = "string",
Version = "string",
},
},
SubnetId = "string",
Version = "string",
},
},
Name = "string",
DnsServers = new[]
{
"string",
},
EnableAcceleratedNetworking = false,
EnableIpForwarding = false,
NetworkSecurityGroupId = "string",
Primary = false,
},
},
Sku = "string",
ResourceGroupName = "string",
AdminUsername = "string",
OsDisk = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskArgs
{
Caching = "string",
StorageAccountType = "string",
DiffDiskSettings = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs
{
Option = "string",
Placement = "string",
},
DiskEncryptionSetId = "string",
DiskSizeGb = 0,
SecureVmDiskEncryptionSetId = "string",
SecurityEncryptionType = "string",
WriteAcceleratorEnabled = false,
},
MaxBidPrice = 0,
TerminationNotification = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetTerminationNotificationArgs
{
Enabled = false,
Timeout = "string",
},
CapacityReservationGroupId = "string",
ComputerNamePrefix = "string",
CustomData = "string",
DataDisks = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetDataDiskArgs
{
Caching = "string",
DiskSizeGb = 0,
Lun = 0,
StorageAccountType = "string",
CreateOption = "string",
DiskEncryptionSetId = "string",
Name = "string",
UltraSsdDiskIopsReadWrite = 0,
UltraSsdDiskMbpsReadWrite = 0,
WriteAcceleratorEnabled = false,
},
},
DisablePasswordAuthentication = false,
DoNotRunExtensionsOnOverprovisionedMachines = false,
EdgeZone = "string",
EncryptionAtHostEnabled = false,
EvictionPolicy = "string",
ExtensionOperationsEnabled = false,
Extensions = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetExtensionArgs
{
Name = "string",
Publisher = "string",
Type = "string",
TypeHandlerVersion = "string",
AutoUpgradeMinorVersion = false,
AutomaticUpgradeEnabled = false,
ForceUpdateTag = "string",
ProtectedSettings = "string",
ProtectedSettingsFromKeyVault = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs
{
SecretUrl = "string",
SourceVaultId = "string",
},
ProvisionAfterExtensions = new[]
{
"string",
},
Settings = "string",
},
},
ExtensionsTimeBudget = "string",
GalleryApplications = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetGalleryApplicationArgs
{
VersionId = "string",
ConfigurationBlobUri = "string",
Order = 0,
Tag = "string",
},
},
HealthProbeId = "string",
HostGroupId = "string",
Identity = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetIdentityArgs
{
Type = "string",
IdentityIds = new[]
{
"string",
},
PrincipalId = "string",
TenantId = "string",
},
Instances = 0,
Location = "string",
AdditionalCapabilities = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs
{
UltraSsdEnabled = false,
},
Name = "string",
ZoneBalance = false,
BootDiagnostics = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetBootDiagnosticsArgs
{
StorageAccountUri = "string",
},
Priority = "string",
Plan = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetPlanArgs
{
Name = "string",
Product = "string",
Publisher = "string",
},
PlatformFaultDomainCount = 0,
Overprovision = false,
ProvisionVmAgent = false,
ProximityPlacementGroupId = "string",
AdminSshKeys = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAdminSshKeyArgs
{
PublicKey = "string",
Username = "string",
},
},
RollingUpgradePolicy = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs
{
MaxBatchInstancePercent = 0,
MaxUnhealthyInstancePercent = 0,
MaxUnhealthyUpgradedInstancePercent = 0,
PauseTimeBetweenBatches = "string",
CrossZoneUpgradesEnabled = false,
MaximumSurgeInstancesEnabled = false,
PrioritizeUnhealthyInstancesEnabled = false,
},
ScaleIn = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetScaleInArgs
{
ForceDeletionEnabled = false,
Rule = "string",
},
Secrets = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSecretArgs
{
Certificates = new[]
{
new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSecretCertificateArgs
{
Url = "string",
},
},
KeyVaultId = "string",
},
},
SecureBootEnabled = false,
SinglePlacementGroup = false,
AdminPassword = "string",
SourceImageId = "string",
SourceImageReference = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSourceImageReferenceArgs
{
Offer = "string",
Publisher = "string",
Sku = "string",
Version = "string",
},
SpotRestore = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetSpotRestoreArgs
{
Enabled = false,
Timeout = "string",
},
Tags =
{
{ "string", "string" },
},
AutomaticInstanceRepair = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs
{
Enabled = false,
Action = "string",
GracePeriod = "string",
},
UpgradeMode = "string",
UserData = "string",
VtpmEnabled = false,
AutomaticOsUpgradePolicy = new Azure.Compute.Inputs.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
{
DisableAutomaticRollback = false,
EnableAutomaticOsUpgrade = false,
},
Zones = new[]
{
"string",
},
});
example, err := compute.NewLinuxVirtualMachineScaleSet(ctx, "linuxVirtualMachineScaleSetResource", &compute.LinuxVirtualMachineScaleSetArgs{
NetworkInterfaces: compute.LinuxVirtualMachineScaleSetNetworkInterfaceArray{
&compute.LinuxVirtualMachineScaleSetNetworkInterfaceArgs{
IpConfigurations: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArray{
&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs{
Name: 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"),
},
Primary: pulumi.Bool(false),
PublicIpAddresses: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArray{
&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs{
Name: pulumi.String("string"),
DomainNameLabel: pulumi.String("string"),
IdleTimeoutInMinutes: pulumi.Int(0),
IpTags: compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArray{
&compute.LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs{
Tag: pulumi.String("string"),
Type: pulumi.String("string"),
},
},
PublicIpPrefixId: pulumi.String("string"),
Version: pulumi.String("string"),
},
},
SubnetId: pulumi.String("string"),
Version: pulumi.String("string"),
},
},
Name: pulumi.String("string"),
DnsServers: pulumi.StringArray{
pulumi.String("string"),
},
EnableAcceleratedNetworking: pulumi.Bool(false),
EnableIpForwarding: pulumi.Bool(false),
NetworkSecurityGroupId: pulumi.String("string"),
Primary: pulumi.Bool(false),
},
},
Sku: pulumi.String("string"),
ResourceGroupName: pulumi.String("string"),
AdminUsername: pulumi.String("string"),
OsDisk: &compute.LinuxVirtualMachineScaleSetOsDiskArgs{
Caching: pulumi.String("string"),
StorageAccountType: pulumi.String("string"),
DiffDiskSettings: &compute.LinuxVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs{
Option: pulumi.String("string"),
Placement: pulumi.String("string"),
},
DiskEncryptionSetId: pulumi.String("string"),
DiskSizeGb: pulumi.Int(0),
SecureVmDiskEncryptionSetId: pulumi.String("string"),
SecurityEncryptionType: pulumi.String("string"),
WriteAcceleratorEnabled: pulumi.Bool(false),
},
MaxBidPrice: pulumi.Float64(0),
TerminationNotification: &compute.LinuxVirtualMachineScaleSetTerminationNotificationArgs{
Enabled: pulumi.Bool(false),
Timeout: pulumi.String("string"),
},
CapacityReservationGroupId: pulumi.String("string"),
ComputerNamePrefix: pulumi.String("string"),
CustomData: pulumi.String("string"),
DataDisks: compute.LinuxVirtualMachineScaleSetDataDiskArray{
&compute.LinuxVirtualMachineScaleSetDataDiskArgs{
Caching: pulumi.String("string"),
DiskSizeGb: pulumi.Int(0),
Lun: pulumi.Int(0),
StorageAccountType: pulumi.String("string"),
CreateOption: pulumi.String("string"),
DiskEncryptionSetId: pulumi.String("string"),
Name: pulumi.String("string"),
UltraSsdDiskIopsReadWrite: pulumi.Int(0),
UltraSsdDiskMbpsReadWrite: pulumi.Int(0),
WriteAcceleratorEnabled: pulumi.Bool(false),
},
},
DisablePasswordAuthentication: pulumi.Bool(false),
DoNotRunExtensionsOnOverprovisionedMachines: pulumi.Bool(false),
EdgeZone: pulumi.String("string"),
EncryptionAtHostEnabled: pulumi.Bool(false),
EvictionPolicy: pulumi.String("string"),
ExtensionOperationsEnabled: pulumi.Bool(false),
Extensions: compute.LinuxVirtualMachineScaleSetExtensionArray{
&compute.LinuxVirtualMachineScaleSetExtensionArgs{
Name: pulumi.String("string"),
Publisher: pulumi.String("string"),
Type: pulumi.String("string"),
TypeHandlerVersion: pulumi.String("string"),
AutoUpgradeMinorVersion: pulumi.Bool(false),
AutomaticUpgradeEnabled: pulumi.Bool(false),
ForceUpdateTag: pulumi.String("string"),
ProtectedSettings: pulumi.String("string"),
ProtectedSettingsFromKeyVault: &compute.LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs{
SecretUrl: pulumi.String("string"),
SourceVaultId: pulumi.String("string"),
},
ProvisionAfterExtensions: pulumi.StringArray{
pulumi.String("string"),
},
Settings: pulumi.String("string"),
},
},
ExtensionsTimeBudget: pulumi.String("string"),
GalleryApplications: compute.LinuxVirtualMachineScaleSetGalleryApplicationArray{
&compute.LinuxVirtualMachineScaleSetGalleryApplicationArgs{
VersionId: pulumi.String("string"),
ConfigurationBlobUri: pulumi.String("string"),
Order: pulumi.Int(0),
Tag: pulumi.String("string"),
},
},
HealthProbeId: pulumi.String("string"),
HostGroupId: pulumi.String("string"),
Identity: &compute.LinuxVirtualMachineScaleSetIdentityArgs{
Type: pulumi.String("string"),
IdentityIds: pulumi.StringArray{
pulumi.String("string"),
},
PrincipalId: pulumi.String("string"),
TenantId: pulumi.String("string"),
},
Instances: pulumi.Int(0),
Location: pulumi.String("string"),
AdditionalCapabilities: &compute.LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs{
UltraSsdEnabled: pulumi.Bool(false),
},
Name: pulumi.String("string"),
ZoneBalance: pulumi.Bool(false),
BootDiagnostics: &compute.LinuxVirtualMachineScaleSetBootDiagnosticsArgs{
StorageAccountUri: pulumi.String("string"),
},
Priority: pulumi.String("string"),
Plan: &compute.LinuxVirtualMachineScaleSetPlanArgs{
Name: pulumi.String("string"),
Product: pulumi.String("string"),
Publisher: pulumi.String("string"),
},
PlatformFaultDomainCount: pulumi.Int(0),
Overprovision: pulumi.Bool(false),
ProvisionVmAgent: pulumi.Bool(false),
ProximityPlacementGroupId: pulumi.String("string"),
AdminSshKeys: compute.LinuxVirtualMachineScaleSetAdminSshKeyArray{
&compute.LinuxVirtualMachineScaleSetAdminSshKeyArgs{
PublicKey: pulumi.String("string"),
Username: pulumi.String("string"),
},
},
RollingUpgradePolicy: &compute.LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs{
MaxBatchInstancePercent: pulumi.Int(0),
MaxUnhealthyInstancePercent: pulumi.Int(0),
MaxUnhealthyUpgradedInstancePercent: pulumi.Int(0),
PauseTimeBetweenBatches: pulumi.String("string"),
CrossZoneUpgradesEnabled: pulumi.Bool(false),
MaximumSurgeInstancesEnabled: pulumi.Bool(false),
PrioritizeUnhealthyInstancesEnabled: pulumi.Bool(false),
},
ScaleIn: &compute.LinuxVirtualMachineScaleSetScaleInArgs{
ForceDeletionEnabled: pulumi.Bool(false),
Rule: pulumi.String("string"),
},
Secrets: compute.LinuxVirtualMachineScaleSetSecretArray{
&compute.LinuxVirtualMachineScaleSetSecretArgs{
Certificates: compute.LinuxVirtualMachineScaleSetSecretCertificateArray{
&compute.LinuxVirtualMachineScaleSetSecretCertificateArgs{
Url: pulumi.String("string"),
},
},
KeyVaultId: pulumi.String("string"),
},
},
SecureBootEnabled: pulumi.Bool(false),
SinglePlacementGroup: pulumi.Bool(false),
AdminPassword: pulumi.String("string"),
SourceImageId: pulumi.String("string"),
SourceImageReference: &compute.LinuxVirtualMachineScaleSetSourceImageReferenceArgs{
Offer: pulumi.String("string"),
Publisher: pulumi.String("string"),
Sku: pulumi.String("string"),
Version: pulumi.String("string"),
},
SpotRestore: &compute.LinuxVirtualMachineScaleSetSpotRestoreArgs{
Enabled: pulumi.Bool(false),
Timeout: pulumi.String("string"),
},
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
AutomaticInstanceRepair: &compute.LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs{
Enabled: pulumi.Bool(false),
Action: pulumi.String("string"),
GracePeriod: pulumi.String("string"),
},
UpgradeMode: pulumi.String("string"),
UserData: pulumi.String("string"),
VtpmEnabled: pulumi.Bool(false),
AutomaticOsUpgradePolicy: &compute.LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs{
DisableAutomaticRollback: pulumi.Bool(false),
EnableAutomaticOsUpgrade: pulumi.Bool(false),
},
Zones: pulumi.StringArray{
pulumi.String("string"),
},
})
var linuxVirtualMachineScaleSetResource = new LinuxVirtualMachineScaleSet("linuxVirtualMachineScaleSetResource", LinuxVirtualMachineScaleSetArgs.builder()
.networkInterfaces(LinuxVirtualMachineScaleSetNetworkInterfaceArgs.builder()
.ipConfigurations(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs.builder()
.name("string")
.applicationGatewayBackendAddressPoolIds("string")
.applicationSecurityGroupIds("string")
.loadBalancerBackendAddressPoolIds("string")
.loadBalancerInboundNatRulesIds("string")
.primary(false)
.publicIpAddresses(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs.builder()
.name("string")
.domainNameLabel("string")
.idleTimeoutInMinutes(0)
.ipTags(LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs.builder()
.tag("string")
.type("string")
.build())
.publicIpPrefixId("string")
.version("string")
.build())
.subnetId("string")
.version("string")
.build())
.name("string")
.dnsServers("string")
.enableAcceleratedNetworking(false)
.enableIpForwarding(false)
.networkSecurityGroupId("string")
.primary(false)
.build())
.sku("string")
.resourceGroupName("string")
.adminUsername("string")
.osDisk(LinuxVirtualMachineScaleSetOsDiskArgs.builder()
.caching("string")
.storageAccountType("string")
.diffDiskSettings(LinuxVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs.builder()
.option("string")
.placement("string")
.build())
.diskEncryptionSetId("string")
.diskSizeGb(0)
.secureVmDiskEncryptionSetId("string")
.securityEncryptionType("string")
.writeAcceleratorEnabled(false)
.build())
.maxBidPrice(0)
.terminationNotification(LinuxVirtualMachineScaleSetTerminationNotificationArgs.builder()
.enabled(false)
.timeout("string")
.build())
.capacityReservationGroupId("string")
.computerNamePrefix("string")
.customData("string")
.dataDisks(LinuxVirtualMachineScaleSetDataDiskArgs.builder()
.caching("string")
.diskSizeGb(0)
.lun(0)
.storageAccountType("string")
.createOption("string")
.diskEncryptionSetId("string")
.name("string")
.ultraSsdDiskIopsReadWrite(0)
.ultraSsdDiskMbpsReadWrite(0)
.writeAcceleratorEnabled(false)
.build())
.disablePasswordAuthentication(false)
.doNotRunExtensionsOnOverprovisionedMachines(false)
.edgeZone("string")
.encryptionAtHostEnabled(false)
.evictionPolicy("string")
.extensionOperationsEnabled(false)
.extensions(LinuxVirtualMachineScaleSetExtensionArgs.builder()
.name("string")
.publisher("string")
.type("string")
.typeHandlerVersion("string")
.autoUpgradeMinorVersion(false)
.automaticUpgradeEnabled(false)
.forceUpdateTag("string")
.protectedSettings("string")
.protectedSettingsFromKeyVault(LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs.builder()
.secretUrl("string")
.sourceVaultId("string")
.build())
.provisionAfterExtensions("string")
.settings("string")
.build())
.extensionsTimeBudget("string")
.galleryApplications(LinuxVirtualMachineScaleSetGalleryApplicationArgs.builder()
.versionId("string")
.configurationBlobUri("string")
.order(0)
.tag("string")
.build())
.healthProbeId("string")
.hostGroupId("string")
.identity(LinuxVirtualMachineScaleSetIdentityArgs.builder()
.type("string")
.identityIds("string")
.principalId("string")
.tenantId("string")
.build())
.instances(0)
.location("string")
.additionalCapabilities(LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs.builder()
.ultraSsdEnabled(false)
.build())
.name("string")
.zoneBalance(false)
.bootDiagnostics(LinuxVirtualMachineScaleSetBootDiagnosticsArgs.builder()
.storageAccountUri("string")
.build())
.priority("string")
.plan(LinuxVirtualMachineScaleSetPlanArgs.builder()
.name("string")
.product("string")
.publisher("string")
.build())
.platformFaultDomainCount(0)
.overprovision(false)
.provisionVmAgent(false)
.proximityPlacementGroupId("string")
.adminSshKeys(LinuxVirtualMachineScaleSetAdminSshKeyArgs.builder()
.publicKey("string")
.username("string")
.build())
.rollingUpgradePolicy(LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs.builder()
.maxBatchInstancePercent(0)
.maxUnhealthyInstancePercent(0)
.maxUnhealthyUpgradedInstancePercent(0)
.pauseTimeBetweenBatches("string")
.crossZoneUpgradesEnabled(false)
.maximumSurgeInstancesEnabled(false)
.prioritizeUnhealthyInstancesEnabled(false)
.build())
.scaleIn(LinuxVirtualMachineScaleSetScaleInArgs.builder()
.forceDeletionEnabled(false)
.rule("string")
.build())
.secrets(LinuxVirtualMachineScaleSetSecretArgs.builder()
.certificates(LinuxVirtualMachineScaleSetSecretCertificateArgs.builder()
.url("string")
.build())
.keyVaultId("string")
.build())
.secureBootEnabled(false)
.singlePlacementGroup(false)
.adminPassword("string")
.sourceImageId("string")
.sourceImageReference(LinuxVirtualMachineScaleSetSourceImageReferenceArgs.builder()
.offer("string")
.publisher("string")
.sku("string")
.version("string")
.build())
.spotRestore(LinuxVirtualMachineScaleSetSpotRestoreArgs.builder()
.enabled(false)
.timeout("string")
.build())
.tags(Map.of("string", "string"))
.automaticInstanceRepair(LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs.builder()
.enabled(false)
.action("string")
.gracePeriod("string")
.build())
.upgradeMode("string")
.userData("string")
.vtpmEnabled(false)
.automaticOsUpgradePolicy(LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs.builder()
.disableAutomaticRollback(false)
.enableAutomaticOsUpgrade(false)
.build())
.zones("string")
.build());
linux_virtual_machine_scale_set_resource = azure.compute.LinuxVirtualMachineScaleSet("linuxVirtualMachineScaleSetResource",
network_interfaces=[{
"ipConfigurations": [{
"name": "string",
"applicationGatewayBackendAddressPoolIds": ["string"],
"applicationSecurityGroupIds": ["string"],
"loadBalancerBackendAddressPoolIds": ["string"],
"loadBalancerInboundNatRulesIds": ["string"],
"primary": False,
"publicIpAddresses": [{
"name": "string",
"domainNameLabel": "string",
"idleTimeoutInMinutes": 0,
"ipTags": [{
"tag": "string",
"type": "string",
}],
"publicIpPrefixId": "string",
"version": "string",
}],
"subnetId": "string",
"version": "string",
}],
"name": "string",
"dnsServers": ["string"],
"enableAcceleratedNetworking": False,
"enableIpForwarding": False,
"networkSecurityGroupId": "string",
"primary": False,
}],
sku="string",
resource_group_name="string",
admin_username="string",
os_disk={
"caching": "string",
"storageAccountType": "string",
"diffDiskSettings": {
"option": "string",
"placement": "string",
},
"diskEncryptionSetId": "string",
"diskSizeGb": 0,
"secureVmDiskEncryptionSetId": "string",
"securityEncryptionType": "string",
"writeAcceleratorEnabled": False,
},
max_bid_price=0,
termination_notification={
"enabled": False,
"timeout": "string",
},
capacity_reservation_group_id="string",
computer_name_prefix="string",
custom_data="string",
data_disks=[{
"caching": "string",
"diskSizeGb": 0,
"lun": 0,
"storageAccountType": "string",
"createOption": "string",
"diskEncryptionSetId": "string",
"name": "string",
"ultraSsdDiskIopsReadWrite": 0,
"ultraSsdDiskMbpsReadWrite": 0,
"writeAcceleratorEnabled": False,
}],
disable_password_authentication=False,
do_not_run_extensions_on_overprovisioned_machines=False,
edge_zone="string",
encryption_at_host_enabled=False,
eviction_policy="string",
extension_operations_enabled=False,
extensions=[{
"name": "string",
"publisher": "string",
"type": "string",
"typeHandlerVersion": "string",
"autoUpgradeMinorVersion": False,
"automaticUpgradeEnabled": False,
"forceUpdateTag": "string",
"protectedSettings": "string",
"protectedSettingsFromKeyVault": {
"secretUrl": "string",
"sourceVaultId": "string",
},
"provisionAfterExtensions": ["string"],
"settings": "string",
}],
extensions_time_budget="string",
gallery_applications=[{
"versionId": "string",
"configurationBlobUri": "string",
"order": 0,
"tag": "string",
}],
health_probe_id="string",
host_group_id="string",
identity={
"type": "string",
"identityIds": ["string"],
"principalId": "string",
"tenantId": "string",
},
instances=0,
location="string",
additional_capabilities={
"ultraSsdEnabled": False,
},
name="string",
zone_balance=False,
boot_diagnostics={
"storageAccountUri": "string",
},
priority="string",
plan={
"name": "string",
"product": "string",
"publisher": "string",
},
platform_fault_domain_count=0,
overprovision=False,
provision_vm_agent=False,
proximity_placement_group_id="string",
admin_ssh_keys=[{
"publicKey": "string",
"username": "string",
}],
rolling_upgrade_policy={
"maxBatchInstancePercent": 0,
"maxUnhealthyInstancePercent": 0,
"maxUnhealthyUpgradedInstancePercent": 0,
"pauseTimeBetweenBatches": "string",
"crossZoneUpgradesEnabled": False,
"maximumSurgeInstancesEnabled": False,
"prioritizeUnhealthyInstancesEnabled": False,
},
scale_in={
"forceDeletionEnabled": False,
"rule": "string",
},
secrets=[{
"certificates": [{
"url": "string",
}],
"keyVaultId": "string",
}],
secure_boot_enabled=False,
single_placement_group=False,
admin_password="string",
source_image_id="string",
source_image_reference={
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string",
},
spot_restore={
"enabled": False,
"timeout": "string",
},
tags={
"string": "string",
},
automatic_instance_repair={
"enabled": False,
"action": "string",
"gracePeriod": "string",
},
upgrade_mode="string",
user_data="string",
vtpm_enabled=False,
automatic_os_upgrade_policy={
"disableAutomaticRollback": False,
"enableAutomaticOsUpgrade": False,
},
zones=["string"])
const linuxVirtualMachineScaleSetResource = new azure.compute.LinuxVirtualMachineScaleSet("linuxVirtualMachineScaleSetResource", {
networkInterfaces: [{
ipConfigurations: [{
name: "string",
applicationGatewayBackendAddressPoolIds: ["string"],
applicationSecurityGroupIds: ["string"],
loadBalancerBackendAddressPoolIds: ["string"],
loadBalancerInboundNatRulesIds: ["string"],
primary: false,
publicIpAddresses: [{
name: "string",
domainNameLabel: "string",
idleTimeoutInMinutes: 0,
ipTags: [{
tag: "string",
type: "string",
}],
publicIpPrefixId: "string",
version: "string",
}],
subnetId: "string",
version: "string",
}],
name: "string",
dnsServers: ["string"],
enableAcceleratedNetworking: false,
enableIpForwarding: false,
networkSecurityGroupId: "string",
primary: false,
}],
sku: "string",
resourceGroupName: "string",
adminUsername: "string",
osDisk: {
caching: "string",
storageAccountType: "string",
diffDiskSettings: {
option: "string",
placement: "string",
},
diskEncryptionSetId: "string",
diskSizeGb: 0,
secureVmDiskEncryptionSetId: "string",
securityEncryptionType: "string",
writeAcceleratorEnabled: false,
},
maxBidPrice: 0,
terminationNotification: {
enabled: false,
timeout: "string",
},
capacityReservationGroupId: "string",
computerNamePrefix: "string",
customData: "string",
dataDisks: [{
caching: "string",
diskSizeGb: 0,
lun: 0,
storageAccountType: "string",
createOption: "string",
diskEncryptionSetId: "string",
name: "string",
ultraSsdDiskIopsReadWrite: 0,
ultraSsdDiskMbpsReadWrite: 0,
writeAcceleratorEnabled: false,
}],
disablePasswordAuthentication: false,
doNotRunExtensionsOnOverprovisionedMachines: false,
edgeZone: "string",
encryptionAtHostEnabled: false,
evictionPolicy: "string",
extensionOperationsEnabled: false,
extensions: [{
name: "string",
publisher: "string",
type: "string",
typeHandlerVersion: "string",
autoUpgradeMinorVersion: false,
automaticUpgradeEnabled: false,
forceUpdateTag: "string",
protectedSettings: "string",
protectedSettingsFromKeyVault: {
secretUrl: "string",
sourceVaultId: "string",
},
provisionAfterExtensions: ["string"],
settings: "string",
}],
extensionsTimeBudget: "string",
galleryApplications: [{
versionId: "string",
configurationBlobUri: "string",
order: 0,
tag: "string",
}],
healthProbeId: "string",
hostGroupId: "string",
identity: {
type: "string",
identityIds: ["string"],
principalId: "string",
tenantId: "string",
},
instances: 0,
location: "string",
additionalCapabilities: {
ultraSsdEnabled: false,
},
name: "string",
zoneBalance: false,
bootDiagnostics: {
storageAccountUri: "string",
},
priority: "string",
plan: {
name: "string",
product: "string",
publisher: "string",
},
platformFaultDomainCount: 0,
overprovision: false,
provisionVmAgent: false,
proximityPlacementGroupId: "string",
adminSshKeys: [{
publicKey: "string",
username: "string",
}],
rollingUpgradePolicy: {
maxBatchInstancePercent: 0,
maxUnhealthyInstancePercent: 0,
maxUnhealthyUpgradedInstancePercent: 0,
pauseTimeBetweenBatches: "string",
crossZoneUpgradesEnabled: false,
maximumSurgeInstancesEnabled: false,
prioritizeUnhealthyInstancesEnabled: false,
},
scaleIn: {
forceDeletionEnabled: false,
rule: "string",
},
secrets: [{
certificates: [{
url: "string",
}],
keyVaultId: "string",
}],
secureBootEnabled: false,
singlePlacementGroup: false,
adminPassword: "string",
sourceImageId: "string",
sourceImageReference: {
offer: "string",
publisher: "string",
sku: "string",
version: "string",
},
spotRestore: {
enabled: false,
timeout: "string",
},
tags: {
string: "string",
},
automaticInstanceRepair: {
enabled: false,
action: "string",
gracePeriod: "string",
},
upgradeMode: "string",
userData: "string",
vtpmEnabled: false,
automaticOsUpgradePolicy: {
disableAutomaticRollback: false,
enableAutomaticOsUpgrade: false,
},
zones: ["string"],
});
type: azure:compute:LinuxVirtualMachineScaleSet
properties:
additionalCapabilities:
ultraSsdEnabled: false
adminPassword: string
adminSshKeys:
- publicKey: string
username: string
adminUsername: string
automaticInstanceRepair:
action: string
enabled: false
gracePeriod: string
automaticOsUpgradePolicy:
disableAutomaticRollback: false
enableAutomaticOsUpgrade: false
bootDiagnostics:
storageAccountUri: string
capacityReservationGroupId: string
computerNamePrefix: string
customData: string
dataDisks:
- caching: string
createOption: string
diskEncryptionSetId: string
diskSizeGb: 0
lun: 0
name: string
storageAccountType: string
ultraSsdDiskIopsReadWrite: 0
ultraSsdDiskMbpsReadWrite: 0
writeAcceleratorEnabled: false
disablePasswordAuthentication: false
doNotRunExtensionsOnOverprovisionedMachines: false
edgeZone: string
encryptionAtHostEnabled: false
evictionPolicy: string
extensionOperationsEnabled: false
extensions:
- autoUpgradeMinorVersion: false
automaticUpgradeEnabled: false
forceUpdateTag: string
name: string
protectedSettings: string
protectedSettingsFromKeyVault:
secretUrl: string
sourceVaultId: string
provisionAfterExtensions:
- string
publisher: string
settings: string
type: string
typeHandlerVersion: string
extensionsTimeBudget: string
galleryApplications:
- configurationBlobUri: string
order: 0
tag: string
versionId: string
healthProbeId: string
hostGroupId: string
identity:
identityIds:
- string
principalId: string
tenantId: string
type: string
instances: 0
location: string
maxBidPrice: 0
name: string
networkInterfaces:
- dnsServers:
- string
enableAcceleratedNetworking: false
enableIpForwarding: false
ipConfigurations:
- applicationGatewayBackendAddressPoolIds:
- string
applicationSecurityGroupIds:
- string
loadBalancerBackendAddressPoolIds:
- string
loadBalancerInboundNatRulesIds:
- string
name: string
primary: false
publicIpAddresses:
- domainNameLabel: string
idleTimeoutInMinutes: 0
ipTags:
- tag: string
type: string
name: string
publicIpPrefixId: string
version: string
subnetId: string
version: string
name: string
networkSecurityGroupId: string
primary: false
osDisk:
caching: string
diffDiskSettings:
option: string
placement: string
diskEncryptionSetId: string
diskSizeGb: 0
secureVmDiskEncryptionSetId: string
securityEncryptionType: string
storageAccountType: string
writeAcceleratorEnabled: false
overprovision: false
plan:
name: string
product: string
publisher: string
platformFaultDomainCount: 0
priority: string
provisionVmAgent: false
proximityPlacementGroupId: string
resourceGroupName: string
rollingUpgradePolicy:
crossZoneUpgradesEnabled: false
maxBatchInstancePercent: 0
maxUnhealthyInstancePercent: 0
maxUnhealthyUpgradedInstancePercent: 0
maximumSurgeInstancesEnabled: false
pauseTimeBetweenBatches: string
prioritizeUnhealthyInstancesEnabled: false
scaleIn:
forceDeletionEnabled: false
rule: string
secrets:
- certificates:
- url: string
keyVaultId: string
secureBootEnabled: false
singlePlacementGroup: false
sku: string
sourceImageId: string
sourceImageReference:
offer: string
publisher: string
sku: string
version: string
spotRestore:
enabled: false
timeout: string
tags:
string: string
terminationNotification:
enabled: false
timeout: string
upgradeMode: string
userData: string
vtpmEnabled: false
zoneBalance: false
zones:
- string
LinuxVirtualMachineScaleSet 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 LinuxVirtualMachineScaleSet resource accepts the following input properties:
- Admin
Username string - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- Network
Interfaces List<LinuxVirtual Machine Scale Set Network Interface> - One or more
network_interface
blocks as defined below. - Os
Disk LinuxVirtual Machine Scale Set Os Disk - An
os_disk
block as defined below. - Resource
Group stringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- Sku string
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - Additional
Capabilities LinuxVirtual Machine Scale Set Additional Capabilities - An
additional_capabilities
block as defined below. - Admin
Password string The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- Admin
Ssh List<LinuxKeys Virtual Machine Scale Set Admin Ssh Key> One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- Automatic
Instance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- Automatic
Os LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - Boot
Diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics - A
boot_diagnostics
block as defined below. - Capacity
Reservation stringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- Computer
Name stringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - Custom
Data string The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- Data
Disks List<LinuxVirtual Machine Scale Set Data Disk> - One or more
data_disk
blocks as defined below. - Disable
Password boolAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- Do
Not boolRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - Edge
Zone string - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- Encryption
At boolHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- Extension
Operations boolEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- Extensions
List<Linux
Virtual Machine Scale Set Extension> - One or more
extension
blocks as defined below - Extensions
Time stringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - Gallery
Applications List<LinuxVirtual Machine Scale Set Gallery Application> - One or more
gallery_application
blocks as defined below. - Health
Probe stringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - Host
Group stringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- Identity
Linux
Virtual Machine Scale Set Identity - An
identity
block as defined below. - Instances int
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- Location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- Max
Bid doublePrice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- Name string
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - Plan
Linux
Virtual Machine Scale Set Plan A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- Platform
Fault intDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Priority string
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- Provision
Vm boolAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - Proximity
Placement stringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- Rolling
Upgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - Scale
In LinuxVirtual Machine Scale Set Scale In - A
scale_in
block as defined below. - Secrets
List<Linux
Virtual Machine Scale Set Secret> - One or more
secret
blocks as defined below. - Secure
Boot boolEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Single
Placement boolGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - Source
Image stringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- Source
Image LinuxReference Virtual Machine Scale Set Source Image Reference A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- Spot
Restore LinuxVirtual Machine Scale Set Spot Restore - A
spot_restore
block as defined below. - Dictionary<string, string>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- Termination
Notification LinuxVirtual Machine Scale Set Termination Notification - A
termination_notification
block as defined below. - Upgrade
Mode string - User
Data string - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- Vtpm
Enabled bool - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Zone
Balance bool Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- Zones List<string>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- Admin
Username string - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- Network
Interfaces []LinuxVirtual Machine Scale Set Network Interface Args - One or more
network_interface
blocks as defined below. - Os
Disk LinuxVirtual Machine Scale Set Os Disk Args - An
os_disk
block as defined below. - Resource
Group stringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- Sku string
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - Additional
Capabilities LinuxVirtual Machine Scale Set Additional Capabilities Args - An
additional_capabilities
block as defined below. - Admin
Password string The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- Admin
Ssh []LinuxKeys Virtual Machine Scale Set Admin Ssh Key Args One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- Automatic
Instance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair Args An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- Automatic
Os LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy Args - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - Boot
Diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics Args - A
boot_diagnostics
block as defined below. - Capacity
Reservation stringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- Computer
Name stringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - Custom
Data string The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- Data
Disks []LinuxVirtual Machine Scale Set Data Disk Args - One or more
data_disk
blocks as defined below. - Disable
Password boolAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- Do
Not boolRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - Edge
Zone string - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- Encryption
At boolHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- Extension
Operations boolEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- Extensions
[]Linux
Virtual Machine Scale Set Extension Args - One or more
extension
blocks as defined below - Extensions
Time stringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - Gallery
Applications []LinuxVirtual Machine Scale Set Gallery Application Args - One or more
gallery_application
blocks as defined below. - Health
Probe stringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - Host
Group stringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- Identity
Linux
Virtual Machine Scale Set Identity Args - An
identity
block as defined below. - Instances int
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- Location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- Max
Bid float64Price The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- Name string
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - Plan
Linux
Virtual Machine Scale Set Plan Args A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- Platform
Fault intDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Priority string
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- Provision
Vm boolAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - Proximity
Placement stringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- Rolling
Upgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy Args - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - Scale
In LinuxVirtual Machine Scale Set Scale In Args - A
scale_in
block as defined below. - Secrets
[]Linux
Virtual Machine Scale Set Secret Args - One or more
secret
blocks as defined below. - Secure
Boot boolEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Single
Placement boolGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - Source
Image stringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- Source
Image LinuxReference Virtual Machine Scale Set Source Image Reference Args A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- Spot
Restore LinuxVirtual Machine Scale Set Spot Restore Args - A
spot_restore
block as defined below. - map[string]string
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- Termination
Notification LinuxVirtual Machine Scale Set Termination Notification Args - A
termination_notification
block as defined below. - Upgrade
Mode string - User
Data string - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- Vtpm
Enabled bool - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Zone
Balance bool Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- Zones []string
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- admin
Username String - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- network
Interfaces List<LinuxVirtual Machine Scale Set Network Interface> - One or more
network_interface
blocks as defined below. - os
Disk LinuxVirtual Machine Scale Set Os Disk - An
os_disk
block as defined below. - resource
Group StringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- sku String
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - additional
Capabilities LinuxVirtual Machine Scale Set Additional Capabilities - An
additional_capabilities
block as defined below. - admin
Password String The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin
Ssh List<LinuxKeys Virtual Machine Scale Set Admin Ssh Key> One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- automatic
Instance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- automatic
Os LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - boot
Diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics - A
boot_diagnostics
block as defined below. - capacity
Reservation StringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- computer
Name StringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - custom
Data String The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- data
Disks List<LinuxVirtual Machine Scale Set Data Disk> - One or more
data_disk
blocks as defined below. - disable
Password BooleanAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- do
Not BooleanRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - edge
Zone String - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- encryption
At BooleanHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- extension
Operations BooleanEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- extensions
List<Linux
Virtual Machine Scale Set Extension> - One or more
extension
blocks as defined below - extensions
Time StringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - gallery
Applications List<LinuxVirtual Machine Scale Set Gallery Application> - One or more
gallery_application
blocks as defined below. - health
Probe StringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - host
Group StringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
Linux
Virtual Machine Scale Set Identity - An
identity
block as defined below. - instances Integer
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- location String
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max
Bid DoublePrice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- name String
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- overprovision Boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - plan
Linux
Virtual Machine Scale Set Plan A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- platform
Fault IntegerDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority String
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- provision
Vm BooleanAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - proximity
Placement StringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- rolling
Upgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - scale
In LinuxVirtual Machine Scale Set Scale In - A
scale_in
block as defined below. - secrets
List<Linux
Virtual Machine Scale Set Secret> - One or more
secret
blocks as defined below. - secure
Boot BooleanEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- single
Placement BooleanGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - source
Image StringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- source
Image LinuxReference Virtual Machine Scale Set Source Image Reference A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- spot
Restore LinuxVirtual Machine Scale Set Spot Restore - A
spot_restore
block as defined below. - Map<String,String>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination
Notification LinuxVirtual Machine Scale Set Termination Notification - A
termination_notification
block as defined below. - upgrade
Mode String - user
Data String - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm
Enabled Boolean - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone
Balance Boolean Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- zones List<String>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- admin
Username string - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- network
Interfaces LinuxVirtual Machine Scale Set Network Interface[] - One or more
network_interface
blocks as defined below. - os
Disk LinuxVirtual Machine Scale Set Os Disk - An
os_disk
block as defined below. - resource
Group stringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- sku string
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - additional
Capabilities LinuxVirtual Machine Scale Set Additional Capabilities - An
additional_capabilities
block as defined below. - admin
Password string The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin
Ssh LinuxKeys Virtual Machine Scale Set Admin Ssh Key[] One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- automatic
Instance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- automatic
Os LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - boot
Diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics - A
boot_diagnostics
block as defined below. - capacity
Reservation stringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- computer
Name stringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - custom
Data string The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- data
Disks LinuxVirtual Machine Scale Set Data Disk[] - One or more
data_disk
blocks as defined below. - disable
Password booleanAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- do
Not booleanRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - edge
Zone string - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- encryption
At booleanHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- extension
Operations booleanEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- extensions
Linux
Virtual Machine Scale Set Extension[] - One or more
extension
blocks as defined below - extensions
Time stringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - gallery
Applications LinuxVirtual Machine Scale Set Gallery Application[] - One or more
gallery_application
blocks as defined below. - health
Probe stringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - host
Group stringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
Linux
Virtual Machine Scale Set Identity - An
identity
block as defined below. - instances number
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max
Bid numberPrice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- name string
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- overprovision boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - plan
Linux
Virtual Machine Scale Set Plan A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- platform
Fault numberDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority string
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- provision
Vm booleanAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - proximity
Placement stringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- rolling
Upgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - scale
In LinuxVirtual Machine Scale Set Scale In - A
scale_in
block as defined below. - secrets
Linux
Virtual Machine Scale Set Secret[] - One or more
secret
blocks as defined below. - secure
Boot booleanEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- single
Placement booleanGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - source
Image stringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- source
Image LinuxReference Virtual Machine Scale Set Source Image Reference A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- spot
Restore LinuxVirtual Machine Scale Set Spot Restore - A
spot_restore
block as defined below. - {[key: string]: string}
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination
Notification LinuxVirtual Machine Scale Set Termination Notification - A
termination_notification
block as defined below. - upgrade
Mode string - user
Data string - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm
Enabled boolean - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone
Balance boolean Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- zones string[]
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- admin_
username str - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- network_
interfaces Sequence[LinuxVirtual Machine Scale Set Network Interface Args] - One or more
network_interface
blocks as defined below. - os_
disk LinuxVirtual Machine Scale Set Os Disk Args - An
os_disk
block as defined below. - resource_
group_ strname - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- sku str
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - additional_
capabilities LinuxVirtual Machine Scale Set Additional Capabilities Args - An
additional_capabilities
block as defined below. - admin_
password str The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin_
ssh_ Sequence[Linuxkeys Virtual Machine Scale Set Admin Ssh Key Args] One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- automatic_
instance_ Linuxrepair Virtual Machine Scale Set Automatic Instance Repair Args An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- automatic_
os_ Linuxupgrade_ policy Virtual Machine Scale Set Automatic Os Upgrade Policy Args - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - boot_
diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics Args - A
boot_diagnostics
block as defined below. - capacity_
reservation_ strgroup_ id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- computer_
name_ strprefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - custom_
data str The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- data_
disks Sequence[LinuxVirtual Machine Scale Set Data Disk Args] - One or more
data_disk
blocks as defined below. - disable_
password_ boolauthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- do_
not_ boolrun_ extensions_ on_ overprovisioned_ machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - edge_
zone str - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- encryption_
at_ boolhost_ enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- extension_
operations_ boolenabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- extensions
Sequence[Linux
Virtual Machine Scale Set Extension Args] - One or more
extension
blocks as defined below - extensions_
time_ strbudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - gallery_
applications Sequence[LinuxVirtual Machine Scale Set Gallery Application Args] - One or more
gallery_application
blocks as defined below. - health_
probe_ strid - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - host_
group_ strid - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
Linux
Virtual Machine Scale Set Identity Args - An
identity
block as defined below. - instances int
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- location str
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max_
bid_ floatprice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- name str
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - plan
Linux
Virtual Machine Scale Set Plan Args A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- platform_
fault_ intdomain_ count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority str
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- provision_
vm_ boolagent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - proximity_
placement_ strgroup_ id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- rolling_
upgrade_ Linuxpolicy Virtual Machine Scale Set Rolling Upgrade Policy Args - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - scale_
in LinuxVirtual Machine Scale Set Scale In Args - A
scale_in
block as defined below. - secrets
Sequence[Linux
Virtual Machine Scale Set Secret Args] - One or more
secret
blocks as defined below. - secure_
boot_ boolenabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- single_
placement_ boolgroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - source_
image_ strid The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- source_
image_ Linuxreference Virtual Machine Scale Set Source Image Reference Args A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- spot_
restore LinuxVirtual Machine Scale Set Spot Restore Args - A
spot_restore
block as defined below. - Mapping[str, str]
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination_
notification LinuxVirtual Machine Scale Set Termination Notification Args - A
termination_notification
block as defined below. - upgrade_
mode str - user_
data str - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm_
enabled bool - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone_
balance bool Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- zones Sequence[str]
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- admin
Username String - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- network
Interfaces List<Property Map> - One or more
network_interface
blocks as defined below. - os
Disk Property Map - An
os_disk
block as defined below. - resource
Group StringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- sku String
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - additional
Capabilities Property Map - An
additional_capabilities
block as defined below. - admin
Password String The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin
Ssh List<Property Map>Keys One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- automatic
Instance Property MapRepair An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- automatic
Os Property MapUpgrade Policy - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - boot
Diagnostics Property Map - A
boot_diagnostics
block as defined below. - capacity
Reservation StringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- computer
Name StringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - custom
Data String The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- data
Disks List<Property Map> - One or more
data_disk
blocks as defined below. - disable
Password BooleanAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- do
Not BooleanRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - edge
Zone String - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- encryption
At BooleanHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- extension
Operations BooleanEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- extensions List<Property Map>
- One or more
extension
blocks as defined below - extensions
Time StringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - gallery
Applications List<Property Map> - One or more
gallery_application
blocks as defined below. - health
Probe StringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - host
Group StringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity Property Map
- An
identity
block as defined below. - instances Number
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- location String
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max
Bid NumberPrice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- name String
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- overprovision Boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - plan Property Map
A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- platform
Fault NumberDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority String
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- provision
Vm BooleanAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - proximity
Placement StringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- rolling
Upgrade Property MapPolicy - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - scale
In Property Map - A
scale_in
block as defined below. - secrets List<Property Map>
- One or more
secret
blocks as defined below. - secure
Boot BooleanEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- single
Placement BooleanGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - source
Image StringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- source
Image Property MapReference A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- spot
Restore Property Map - A
spot_restore
block as defined below. - Map<String>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination
Notification Property Map - A
termination_notification
block as defined below. - upgrade
Mode String - user
Data String - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm
Enabled Boolean - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone
Balance Boolean Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- zones List<String>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the LinuxVirtualMachineScaleSet resource produces the following output properties:
Look up Existing LinuxVirtualMachineScaleSet Resource
Get an existing LinuxVirtualMachineScaleSet 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?: LinuxVirtualMachineScaleSetState, opts?: CustomResourceOptions): LinuxVirtualMachineScaleSet
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
additional_capabilities: Optional[LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs] = None,
admin_password: Optional[str] = None,
admin_ssh_keys: Optional[Sequence[LinuxVirtualMachineScaleSetAdminSshKeyArgs]] = None,
admin_username: Optional[str] = None,
automatic_instance_repair: Optional[LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs] = None,
automatic_os_upgrade_policy: Optional[LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs] = None,
boot_diagnostics: Optional[LinuxVirtualMachineScaleSetBootDiagnosticsArgs] = None,
capacity_reservation_group_id: Optional[str] = None,
computer_name_prefix: Optional[str] = None,
custom_data: Optional[str] = None,
data_disks: Optional[Sequence[LinuxVirtualMachineScaleSetDataDiskArgs]] = None,
disable_password_authentication: Optional[bool] = None,
do_not_run_extensions_on_overprovisioned_machines: Optional[bool] = None,
edge_zone: Optional[str] = None,
encryption_at_host_enabled: Optional[bool] = None,
eviction_policy: Optional[str] = None,
extension_operations_enabled: Optional[bool] = None,
extensions: Optional[Sequence[LinuxVirtualMachineScaleSetExtensionArgs]] = None,
extensions_time_budget: Optional[str] = None,
gallery_applications: Optional[Sequence[LinuxVirtualMachineScaleSetGalleryApplicationArgs]] = None,
health_probe_id: Optional[str] = None,
host_group_id: Optional[str] = None,
identity: Optional[LinuxVirtualMachineScaleSetIdentityArgs] = None,
instances: Optional[int] = None,
location: Optional[str] = None,
max_bid_price: Optional[float] = None,
name: Optional[str] = None,
network_interfaces: Optional[Sequence[LinuxVirtualMachineScaleSetNetworkInterfaceArgs]] = None,
os_disk: Optional[LinuxVirtualMachineScaleSetOsDiskArgs] = None,
overprovision: Optional[bool] = None,
plan: Optional[LinuxVirtualMachineScaleSetPlanArgs] = None,
platform_fault_domain_count: Optional[int] = None,
priority: Optional[str] = None,
provision_vm_agent: Optional[bool] = None,
proximity_placement_group_id: Optional[str] = None,
resource_group_name: Optional[str] = None,
rolling_upgrade_policy: Optional[LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs] = None,
scale_in: Optional[LinuxVirtualMachineScaleSetScaleInArgs] = None,
secrets: Optional[Sequence[LinuxVirtualMachineScaleSetSecretArgs]] = None,
secure_boot_enabled: Optional[bool] = None,
single_placement_group: Optional[bool] = None,
sku: Optional[str] = None,
source_image_id: Optional[str] = None,
source_image_reference: Optional[LinuxVirtualMachineScaleSetSourceImageReferenceArgs] = None,
spot_restore: Optional[LinuxVirtualMachineScaleSetSpotRestoreArgs] = None,
tags: Optional[Mapping[str, str]] = None,
termination_notification: Optional[LinuxVirtualMachineScaleSetTerminationNotificationArgs] = None,
unique_id: Optional[str] = None,
upgrade_mode: Optional[str] = None,
user_data: Optional[str] = None,
vtpm_enabled: Optional[bool] = None,
zone_balance: Optional[bool] = None,
zones: Optional[Sequence[str]] = None) -> LinuxVirtualMachineScaleSet
func GetLinuxVirtualMachineScaleSet(ctx *Context, name string, id IDInput, state *LinuxVirtualMachineScaleSetState, opts ...ResourceOption) (*LinuxVirtualMachineScaleSet, error)
public static LinuxVirtualMachineScaleSet Get(string name, Input<string> id, LinuxVirtualMachineScaleSetState? state, CustomResourceOptions? opts = null)
public static LinuxVirtualMachineScaleSet get(String name, Output<String> id, LinuxVirtualMachineScaleSetState 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.
- Additional
Capabilities LinuxVirtual Machine Scale Set Additional Capabilities - An
additional_capabilities
block as defined below. - Admin
Password string The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- Admin
Ssh List<LinuxKeys Virtual Machine Scale Set Admin Ssh Key> One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- Admin
Username string - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- Automatic
Instance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- Automatic
Os LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - Boot
Diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics - A
boot_diagnostics
block as defined below. - Capacity
Reservation stringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- Computer
Name stringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - Custom
Data string The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- Data
Disks List<LinuxVirtual Machine Scale Set Data Disk> - One or more
data_disk
blocks as defined below. - Disable
Password boolAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- Do
Not boolRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - Edge
Zone string - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- Encryption
At boolHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- Extension
Operations boolEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- Extensions
List<Linux
Virtual Machine Scale Set Extension> - One or more
extension
blocks as defined below - Extensions
Time stringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - Gallery
Applications List<LinuxVirtual Machine Scale Set Gallery Application> - One or more
gallery_application
blocks as defined below. - Health
Probe stringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - Host
Group stringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- Identity
Linux
Virtual Machine Scale Set Identity - An
identity
block as defined below. - Instances int
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- Location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- Max
Bid doublePrice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- Name string
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Network
Interfaces List<LinuxVirtual Machine Scale Set Network Interface> - One or more
network_interface
blocks as defined below. - Os
Disk LinuxVirtual Machine Scale Set Os Disk - An
os_disk
block as defined below. - Overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - Plan
Linux
Virtual Machine Scale Set Plan A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- Platform
Fault intDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Priority string
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- Provision
Vm boolAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - Proximity
Placement stringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- Resource
Group stringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- Rolling
Upgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - Scale
In LinuxVirtual Machine Scale Set Scale In - A
scale_in
block as defined below. - Secrets
List<Linux
Virtual Machine Scale Set Secret> - One or more
secret
blocks as defined below. - Secure
Boot boolEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Single
Placement boolGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - Sku string
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - Source
Image stringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- Source
Image LinuxReference Virtual Machine Scale Set Source Image Reference A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- Spot
Restore LinuxVirtual Machine Scale Set Spot Restore - A
spot_restore
block as defined below. - Dictionary<string, string>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- Termination
Notification LinuxVirtual Machine Scale Set Termination Notification - A
termination_notification
block as defined below. - Unique
Id string - The Unique ID for this Linux Virtual Machine Scale Set.
- Upgrade
Mode string - User
Data string - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- Vtpm
Enabled bool - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Zone
Balance bool Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- Zones List<string>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- Additional
Capabilities LinuxVirtual Machine Scale Set Additional Capabilities Args - An
additional_capabilities
block as defined below. - Admin
Password string The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- Admin
Ssh []LinuxKeys Virtual Machine Scale Set Admin Ssh Key Args One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- Admin
Username string - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- Automatic
Instance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair Args An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- Automatic
Os LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy Args - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - Boot
Diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics Args - A
boot_diagnostics
block as defined below. - Capacity
Reservation stringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- Computer
Name stringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - Custom
Data string The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- Data
Disks []LinuxVirtual Machine Scale Set Data Disk Args - One or more
data_disk
blocks as defined below. - Disable
Password boolAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- Do
Not boolRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - Edge
Zone string - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- Encryption
At boolHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- Extension
Operations boolEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- Extensions
[]Linux
Virtual Machine Scale Set Extension Args - One or more
extension
blocks as defined below - Extensions
Time stringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - Gallery
Applications []LinuxVirtual Machine Scale Set Gallery Application Args - One or more
gallery_application
blocks as defined below. - Health
Probe stringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - Host
Group stringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- Identity
Linux
Virtual Machine Scale Set Identity Args - An
identity
block as defined below. - Instances int
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- Location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- Max
Bid float64Price The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- Name string
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Network
Interfaces []LinuxVirtual Machine Scale Set Network Interface Args - One or more
network_interface
blocks as defined below. - Os
Disk LinuxVirtual Machine Scale Set Os Disk Args - An
os_disk
block as defined below. - Overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - Plan
Linux
Virtual Machine Scale Set Plan Args A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- Platform
Fault intDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- Priority string
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- Provision
Vm boolAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - Proximity
Placement stringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- Resource
Group stringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- Rolling
Upgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy Args - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - Scale
In LinuxVirtual Machine Scale Set Scale In Args - A
scale_in
block as defined below. - Secrets
[]Linux
Virtual Machine Scale Set Secret Args - One or more
secret
blocks as defined below. - Secure
Boot boolEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Single
Placement boolGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - Sku string
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - Source
Image stringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- Source
Image LinuxReference Virtual Machine Scale Set Source Image Reference Args A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- Spot
Restore LinuxVirtual Machine Scale Set Spot Restore Args - A
spot_restore
block as defined below. - map[string]string
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- Termination
Notification LinuxVirtual Machine Scale Set Termination Notification Args - A
termination_notification
block as defined below. - Unique
Id string - The Unique ID for this Linux Virtual Machine Scale Set.
- Upgrade
Mode string - User
Data string - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- Vtpm
Enabled bool - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- Zone
Balance bool Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- Zones []string
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- additional
Capabilities LinuxVirtual Machine Scale Set Additional Capabilities - An
additional_capabilities
block as defined below. - admin
Password String The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin
Ssh List<LinuxKeys Virtual Machine Scale Set Admin Ssh Key> One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin
Username String - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- automatic
Instance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- automatic
Os LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - boot
Diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics - A
boot_diagnostics
block as defined below. - capacity
Reservation StringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- computer
Name StringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - custom
Data String The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- data
Disks List<LinuxVirtual Machine Scale Set Data Disk> - One or more
data_disk
blocks as defined below. - disable
Password BooleanAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- do
Not BooleanRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - edge
Zone String - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- encryption
At BooleanHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- extension
Operations BooleanEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- extensions
List<Linux
Virtual Machine Scale Set Extension> - One or more
extension
blocks as defined below - extensions
Time StringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - gallery
Applications List<LinuxVirtual Machine Scale Set Gallery Application> - One or more
gallery_application
blocks as defined below. - health
Probe StringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - host
Group StringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
Linux
Virtual Machine Scale Set Identity - An
identity
block as defined below. - instances Integer
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- location String
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max
Bid DoublePrice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- name String
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- network
Interfaces List<LinuxVirtual Machine Scale Set Network Interface> - One or more
network_interface
blocks as defined below. - os
Disk LinuxVirtual Machine Scale Set Os Disk - An
os_disk
block as defined below. - overprovision Boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - plan
Linux
Virtual Machine Scale Set Plan A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- platform
Fault IntegerDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority String
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- provision
Vm BooleanAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - proximity
Placement StringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- resource
Group StringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- rolling
Upgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - scale
In LinuxVirtual Machine Scale Set Scale In - A
scale_in
block as defined below. - secrets
List<Linux
Virtual Machine Scale Set Secret> - One or more
secret
blocks as defined below. - secure
Boot BooleanEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- single
Placement BooleanGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - sku String
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - source
Image StringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- source
Image LinuxReference Virtual Machine Scale Set Source Image Reference A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- spot
Restore LinuxVirtual Machine Scale Set Spot Restore - A
spot_restore
block as defined below. - Map<String,String>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination
Notification LinuxVirtual Machine Scale Set Termination Notification - A
termination_notification
block as defined below. - unique
Id String - The Unique ID for this Linux Virtual Machine Scale Set.
- upgrade
Mode String - user
Data String - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm
Enabled Boolean - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone
Balance Boolean Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- zones List<String>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- additional
Capabilities LinuxVirtual Machine Scale Set Additional Capabilities - An
additional_capabilities
block as defined below. - admin
Password string The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin
Ssh LinuxKeys Virtual Machine Scale Set Admin Ssh Key[] One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin
Username string - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- automatic
Instance LinuxRepair Virtual Machine Scale Set Automatic Instance Repair An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- automatic
Os LinuxUpgrade Policy Virtual Machine Scale Set Automatic Os Upgrade Policy - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - boot
Diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics - A
boot_diagnostics
block as defined below. - capacity
Reservation stringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- computer
Name stringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - custom
Data string The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- data
Disks LinuxVirtual Machine Scale Set Data Disk[] - One or more
data_disk
blocks as defined below. - disable
Password booleanAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- do
Not booleanRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - edge
Zone string - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- encryption
At booleanHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- extension
Operations booleanEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- extensions
Linux
Virtual Machine Scale Set Extension[] - One or more
extension
blocks as defined below - extensions
Time stringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - gallery
Applications LinuxVirtual Machine Scale Set Gallery Application[] - One or more
gallery_application
blocks as defined below. - health
Probe stringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - host
Group stringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
Linux
Virtual Machine Scale Set Identity - An
identity
block as defined below. - instances number
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- location string
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max
Bid numberPrice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- name string
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- network
Interfaces LinuxVirtual Machine Scale Set Network Interface[] - One or more
network_interface
blocks as defined below. - os
Disk LinuxVirtual Machine Scale Set Os Disk - An
os_disk
block as defined below. - overprovision boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - plan
Linux
Virtual Machine Scale Set Plan A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- platform
Fault numberDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority string
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- provision
Vm booleanAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - proximity
Placement stringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- resource
Group stringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- rolling
Upgrade LinuxPolicy Virtual Machine Scale Set Rolling Upgrade Policy - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - scale
In LinuxVirtual Machine Scale Set Scale In - A
scale_in
block as defined below. - secrets
Linux
Virtual Machine Scale Set Secret[] - One or more
secret
blocks as defined below. - secure
Boot booleanEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- single
Placement booleanGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - sku string
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - source
Image stringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- source
Image LinuxReference Virtual Machine Scale Set Source Image Reference A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- spot
Restore LinuxVirtual Machine Scale Set Spot Restore - A
spot_restore
block as defined below. - {[key: string]: string}
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination
Notification LinuxVirtual Machine Scale Set Termination Notification - A
termination_notification
block as defined below. - unique
Id string - The Unique ID for this Linux Virtual Machine Scale Set.
- upgrade
Mode string - user
Data string - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm
Enabled boolean - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone
Balance boolean Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- zones string[]
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- additional_
capabilities LinuxVirtual Machine Scale Set Additional Capabilities Args - An
additional_capabilities
block as defined below. - admin_
password str The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin_
ssh_ Sequence[Linuxkeys Virtual Machine Scale Set Admin Ssh Key Args] One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin_
username str - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- automatic_
instance_ Linuxrepair Virtual Machine Scale Set Automatic Instance Repair Args An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- automatic_
os_ Linuxupgrade_ policy Virtual Machine Scale Set Automatic Os Upgrade Policy Args - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - boot_
diagnostics LinuxVirtual Machine Scale Set Boot Diagnostics Args - A
boot_diagnostics
block as defined below. - capacity_
reservation_ strgroup_ id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- computer_
name_ strprefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - custom_
data str The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- data_
disks Sequence[LinuxVirtual Machine Scale Set Data Disk Args] - One or more
data_disk
blocks as defined below. - disable_
password_ boolauthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- do_
not_ boolrun_ extensions_ on_ overprovisioned_ machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - edge_
zone str - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- encryption_
at_ boolhost_ enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- extension_
operations_ boolenabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- extensions
Sequence[Linux
Virtual Machine Scale Set Extension Args] - One or more
extension
blocks as defined below - extensions_
time_ strbudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - gallery_
applications Sequence[LinuxVirtual Machine Scale Set Gallery Application Args] - One or more
gallery_application
blocks as defined below. - health_
probe_ strid - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - host_
group_ strid - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity
Linux
Virtual Machine Scale Set Identity Args - An
identity
block as defined below. - instances int
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- location str
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max_
bid_ floatprice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- name str
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- network_
interfaces Sequence[LinuxVirtual Machine Scale Set Network Interface Args] - One or more
network_interface
blocks as defined below. - os_
disk LinuxVirtual Machine Scale Set Os Disk Args - An
os_disk
block as defined below. - overprovision bool
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - plan
Linux
Virtual Machine Scale Set Plan Args A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- platform_
fault_ intdomain_ count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority str
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- provision_
vm_ boolagent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - proximity_
placement_ strgroup_ id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- resource_
group_ strname - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- rolling_
upgrade_ Linuxpolicy Virtual Machine Scale Set Rolling Upgrade Policy Args - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - scale_
in LinuxVirtual Machine Scale Set Scale In Args - A
scale_in
block as defined below. - secrets
Sequence[Linux
Virtual Machine Scale Set Secret Args] - One or more
secret
blocks as defined below. - secure_
boot_ boolenabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- single_
placement_ boolgroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - sku str
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - source_
image_ strid The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- source_
image_ Linuxreference Virtual Machine Scale Set Source Image Reference Args A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- spot_
restore LinuxVirtual Machine Scale Set Spot Restore Args - A
spot_restore
block as defined below. - Mapping[str, str]
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination_
notification LinuxVirtual Machine Scale Set Termination Notification Args - A
termination_notification
block as defined below. - unique_
id str - The Unique ID for this Linux Virtual Machine Scale Set.
- upgrade_
mode str - user_
data str - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm_
enabled bool - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone_
balance bool Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- zones Sequence[str]
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- additional
Capabilities Property Map - An
additional_capabilities
block as defined below. - admin
Password String The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Note: When an
admin_password
is specifieddisable_password_authentication
must be set tofalse
.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin
Ssh List<Property Map>Keys One or more
admin_ssh_key
blocks as defined below.Note: One of either
admin_password
oradmin_ssh_key
must be specified.- admin
Username String - The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
- automatic
Instance Property MapRepair An
automatic_instance_repair
block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a validhealth_probe_id
or an Application Health Extension.Note: For more information about Automatic Instance Repair, please refer to the product documentation.
- automatic
Os Property MapUpgrade Policy - An
automatic_os_upgrade_policy
block as defined below. This can only be specified whenupgrade_mode
is set to eitherAutomatic
orRolling
. - boot
Diagnostics Property Map - A
boot_diagnostics
block as defined below. - capacity
Reservation StringGroup Id Specifies the ID of the Capacity Reservation Group which the Virtual Machine Scale Set should be allocated to. Changing this forces a new resource to be created.
Note:
capacity_reservation_group_id
cannot be used withproximity_placement_group_id
Note:
single_placement_group
must be set tofalse
whencapacity_reservation_group_id
is specified.- computer
Name StringPrefix - The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the
name
field. If the value of thename
field is not a validcomputer_name_prefix
, then you must specifycomputer_name_prefix
. Changing this forces a new resource to be created. - custom
Data String The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Note: When Custom Data has been configured, it's not possible to remove it without tainting the Virtual Machine Scale Set, due to a limitation of the Azure API.
- data
Disks List<Property Map> - One or more
data_disk
blocks as defined below. - disable
Password BooleanAuthentication Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to
true
.In general we'd recommend using SSH Keys for authentication rather than Passwords - but there's tradeoff's to each - please see this thread for more information.
Note: When a
admin_password
is specifieddisable_password_authentication
must be set tofalse
.- do
Not BooleanRun Extensions On Overprovisioned Machines - Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to
false
. - edge
Zone String - Specifies the Edge Zone within the Azure Region where this Linux Virtual Machine Scale Set should exist. Changing this forces a new Linux Virtual Machine Scale Set to be created.
- encryption
At BooleanHost Enabled - Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
- 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: This can only be configured when
priority
is set toSpot
.- extension
Operations BooleanEnabled Should extension operations be allowed on the Virtual Machine Scale Set? Possible values are
true
orfalse
. Defaults totrue
. Changing this forces a new Linux Virtual Machine Scale Set to be created.Note:
extension_operations_enabled
may only be set tofalse
if there are no extensions defined in theextension
field.- extensions List<Property Map>
- One or more
extension
blocks as defined below - extensions
Time StringBudget - Specifies the duration allocated for all extensions to start. The time duration should be between
15
minutes and120
minutes (inclusive) and should be specified in ISO 8601 format. Defaults toPT1H30M
. - gallery
Applications List<Property Map> - One or more
gallery_application
blocks as defined below. - health
Probe StringId - The ID of a Load Balancer Probe which should be used to determine the health of an instance. This is Required and can only be specified when
upgrade_mode
is set toAutomatic
orRolling
. - host
Group StringId - Specifies the ID of the dedicated host group that the virtual machine scale set resides in. Changing this forces a new resource to be created.
- identity Property Map
- An
identity
block as defined below. - instances Number
The number of Virtual Machines in the Scale Set. Defaults to
0
.NOTE: If you're using AutoScaling, you may wish to use
Ignore Changes
functionality to ignore changes to this field.- location String
- The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
- max
Bid NumberPrice The maximum price you're willing to pay for each Virtual Machine in this Scale Set, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machines in the Scale Set will be evicted using the
eviction_policy
. Defaults to-1
, which means that each Virtual Machine in this Scale Set should not be evicted for price reasons.Note: This can only be configured when
priority
is set toSpot
.- name String
- The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- network
Interfaces List<Property Map> - One or more
network_interface
blocks as defined below. - os
Disk Property Map - An
os_disk
block as defined below. - overprovision Boolean
- Should Azure over-provision Virtual Machines in this Scale Set? This means that multiple Virtual Machines will be provisioned and Azure will keep the instances which become available first - which improves provisioning success rates and improves deployment time. You're not billed for these over-provisioned VM's and they don't count towards the Subscription Quota. Defaults to
true
. - plan Property Map
A
plan
block as defined below. Changing this forces a new resource to be created.Note: When using an image from Azure Marketplace a
plan
must be specified.- platform
Fault NumberDomain Count - Specifies the number of fault domains that are used by this Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
- priority String
The Priority of this Virtual Machine Scale Set. Possible values are
Regular
andSpot
. Defaults toRegular
. Changing this value forces a new resource.Note: When
priority
is set toSpot
aneviction_policy
must be specified.- provision
Vm BooleanAgent - Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to
true
. Changing this value forces a new resource to be created. - proximity
Placement StringGroup Id - The ID of the Proximity Placement Group in which the Virtual Machine Scale Set should be assigned to. Changing this forces a new resource to be created.
- resource
Group StringName - The name of the Resource Group in which the Linux Virtual Machine Scale Set should be exist. Changing this forces a new resource to be created.
- rolling
Upgrade Property MapPolicy - A
rolling_upgrade_policy
block as defined below. This is Required and can only be specified whenupgrade_mode
is set toAutomatic
orRolling
. Changing this forces a new resource to be created. - scale
In Property Map - A
scale_in
block as defined below. - secrets List<Property Map>
- One or more
secret
blocks as defined below. - secure
Boot BooleanEnabled - Specifies whether secure boot should be enabled on the virtual machine. Changing this forces a new resource to be created.
- single
Placement BooleanGroup - Should this Virtual Machine Scale Set be limited to a Single Placement Group, which means the number of instances will be capped at 100 Virtual Machines. Defaults to
true
. - sku String
- The Virtual Machine SKU for the Scale Set, such as
Standard_F2
. - source
Image StringId The ID of an Image which each Virtual Machine in this Scale Set should be based on. Possible Image ID types include
Image ID
,Shared Image ID
,Shared Image Version ID
,Community Gallery Image ID
,Community Gallery Image Version ID
,Shared Gallery Image ID
andShared Gallery Image Version ID
.Note: One of either
source_image_id
orsource_image_reference
must be set.- source
Image Property MapReference A
source_image_reference
block as defined below.Note: One of either
source_image_id
orsource_image_reference
must be set.- spot
Restore Property Map - A
spot_restore
block as defined below. - Map<String>
- A mapping of tags which should be assigned to this Virtual Machine Scale Set.
- termination
Notification Property Map - A
termination_notification
block as defined below. - unique
Id String - The Unique ID for this Linux Virtual Machine Scale Set.
- upgrade
Mode String - user
Data String - The Base64-Encoded User Data which should be used for this Virtual Machine Scale Set.
- vtpm
Enabled Boolean - Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.
- zone
Balance Boolean Should the Virtual Machines in this Scale Set be strictly evenly distributed across Availability Zones? Defaults to
false
. Changing this forces a new resource to be created.Note: This can only be set to
true
when one or morezones
are configured.- zones List<String>
- Specifies a list of Availability Zones in which this Linux Virtual Machine Scale Set should be located. Changing this forces a new Linux Virtual Machine Scale Set to be created.
Supporting Types
LinuxVirtualMachineScaleSetAdditionalCapabilities, LinuxVirtualMachineScaleSetAdditionalCapabilitiesArgs
- Ultra
Ssd boolEnabled - Should the capacity to enable Data Disks of the
UltraSSD_LRS
storage account type be supported on this Virtual Machine Scale Set? Possible values aretrue
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created.
- Ultra
Ssd boolEnabled - Should the capacity to enable Data Disks of the
UltraSSD_LRS
storage account type be supported on this Virtual Machine Scale Set? Possible values aretrue
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created.
- ultra
Ssd BooleanEnabled - Should the capacity to enable Data Disks of the
UltraSSD_LRS
storage account type be supported on this Virtual Machine Scale Set? Possible values aretrue
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created.
- ultra
Ssd booleanEnabled - Should the capacity to enable Data Disks of the
UltraSSD_LRS
storage account type be supported on this Virtual Machine Scale Set? Possible values aretrue
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created.
- ultra_
ssd_ boolenabled - Should the capacity to enable Data Disks of the
UltraSSD_LRS
storage account type be supported on this Virtual Machine Scale Set? Possible values aretrue
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created.
- ultra
Ssd BooleanEnabled - Should the capacity to enable Data Disks of the
UltraSSD_LRS
storage account type be supported on this Virtual Machine Scale Set? Possible values aretrue
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetAdminSshKey, LinuxVirtualMachineScaleSetAdminSshKeyArgs
- Public
Key string - The Public Key which should be used for authentication, which needs to be in
ssh-rsa
format with at least 2048-bit or inssh-ed25519
format. - Username string
The Username for which this Public SSH Key should be configured.
Note: The Azure VM Agent only allows creating SSH Keys at the path
/home/{username}/.ssh/authorized_keys
- as such this public key will be added/appended to the authorized keys file.
- Public
Key string - The Public Key which should be used for authentication, which needs to be in
ssh-rsa
format with at least 2048-bit or inssh-ed25519
format. - Username string
The Username for which this Public SSH Key should be configured.
Note: The Azure VM Agent only allows creating SSH Keys at the path
/home/{username}/.ssh/authorized_keys
- as such this public key will be added/appended to the authorized keys file.
- public
Key String - The Public Key which should be used for authentication, which needs to be in
ssh-rsa
format with at least 2048-bit or inssh-ed25519
format. - username String
The Username for which this Public SSH Key should be configured.
Note: The Azure VM Agent only allows creating SSH Keys at the path
/home/{username}/.ssh/authorized_keys
- as such this public key will be added/appended to the authorized keys file.
- public
Key string - The Public Key which should be used for authentication, which needs to be in
ssh-rsa
format with at least 2048-bit or inssh-ed25519
format. - username string
The Username for which this Public SSH Key should be configured.
Note: The Azure VM Agent only allows creating SSH Keys at the path
/home/{username}/.ssh/authorized_keys
- as such this public key will be added/appended to the authorized keys file.
- public_
key str - The Public Key which should be used for authentication, which needs to be in
ssh-rsa
format with at least 2048-bit or inssh-ed25519
format. - username str
The Username for which this Public SSH Key should be configured.
Note: The Azure VM Agent only allows creating SSH Keys at the path
/home/{username}/.ssh/authorized_keys
- as such this public key will be added/appended to the authorized keys file.
- public
Key String - The Public Key which should be used for authentication, which needs to be in
ssh-rsa
format with at least 2048-bit or inssh-ed25519
format. - username String
The Username for which this Public SSH Key should be configured.
Note: The Azure VM Agent only allows creating SSH Keys at the path
/home/{username}/.ssh/authorized_keys
- as such this public key will be added/appended to the authorized keys file.
LinuxVirtualMachineScaleSetAutomaticInstanceRepair, LinuxVirtualMachineScaleSetAutomaticInstanceRepairArgs
- Enabled bool
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- Action string
The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include
Replace
,Restart
,Reimage
.Note: Once the
action
field has been set it will always return the last value it was assigned if it is removed from the configuration file.Note: If you wish to update the repair
action
of an existingautomatic_instance_repair
policy, you must firstdisable
theautomatic_instance_repair
policy before you can re-enable theautomatic_instance_repair
policy with the new repairaction
defined.- Grace
Period string Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between
10
and90
minutes. The time duration should be specified inISO 8601
format (e.g.PT10M
toPT90M
).Note: Once the
grace_period
field has been set it will always return the last value it was assigned if it is removed from the configuration file.
- Enabled bool
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- Action string
The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include
Replace
,Restart
,Reimage
.Note: Once the
action
field has been set it will always return the last value it was assigned if it is removed from the configuration file.Note: If you wish to update the repair
action
of an existingautomatic_instance_repair
policy, you must firstdisable
theautomatic_instance_repair
policy before you can re-enable theautomatic_instance_repair
policy with the new repairaction
defined.- Grace
Period string Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between
10
and90
minutes. The time duration should be specified inISO 8601
format (e.g.PT10M
toPT90M
).Note: Once the
grace_period
field has been set it will always return the last value it was assigned if it is removed from the configuration file.
- enabled Boolean
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- action String
The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include
Replace
,Restart
,Reimage
.Note: Once the
action
field has been set it will always return the last value it was assigned if it is removed from the configuration file.Note: If you wish to update the repair
action
of an existingautomatic_instance_repair
policy, you must firstdisable
theautomatic_instance_repair
policy before you can re-enable theautomatic_instance_repair
policy with the new repairaction
defined.- grace
Period String Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between
10
and90
minutes. The time duration should be specified inISO 8601
format (e.g.PT10M
toPT90M
).Note: Once the
grace_period
field has been set it will always return the last value it was assigned if it is removed from the configuration file.
- enabled boolean
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- action string
The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include
Replace
,Restart
,Reimage
.Note: Once the
action
field has been set it will always return the last value it was assigned if it is removed from the configuration file.Note: If you wish to update the repair
action
of an existingautomatic_instance_repair
policy, you must firstdisable
theautomatic_instance_repair
policy before you can re-enable theautomatic_instance_repair
policy with the new repairaction
defined.- grace
Period string Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between
10
and90
minutes. The time duration should be specified inISO 8601
format (e.g.PT10M
toPT90M
).Note: Once the
grace_period
field has been set it will always return the last value it was assigned if it is removed from the configuration file.
- enabled bool
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- action str
The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include
Replace
,Restart
,Reimage
.Note: Once the
action
field has been set it will always return the last value it was assigned if it is removed from the configuration file.Note: If you wish to update the repair
action
of an existingautomatic_instance_repair
policy, you must firstdisable
theautomatic_instance_repair
policy before you can re-enable theautomatic_instance_repair
policy with the new repairaction
defined.- grace_
period str Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between
10
and90
minutes. The time duration should be specified inISO 8601
format (e.g.PT10M
toPT90M
).Note: Once the
grace_period
field has been set it will always return the last value it was assigned if it is removed from the configuration file.
- enabled Boolean
- Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
- action String
The repair action that will be used for repairing unhealthy virtual machines in the scale set. Possible values include
Replace
,Restart
,Reimage
.Note: Once the
action
field has been set it will always return the last value it was assigned if it is removed from the configuration file.Note: If you wish to update the repair
action
of an existingautomatic_instance_repair
policy, you must firstdisable
theautomatic_instance_repair
policy before you can re-enable theautomatic_instance_repair
policy with the new repairaction
defined.- grace
Period String Amount of time for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. Possible values are between
10
and90
minutes. The time duration should be specified inISO 8601
format (e.g.PT10M
toPT90M
).Note: Once the
grace_period
field has been set it will always return the last value it was assigned if it is removed from the configuration file.
LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy, LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicyArgs
- Disable
Automatic boolRollback - Should automatic rollbacks be disabled?
- Enable
Automatic boolOs Upgrade - Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- Disable
Automatic boolRollback - Should automatic rollbacks be disabled?
- Enable
Automatic boolOs Upgrade - Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- disable
Automatic BooleanRollback - Should automatic rollbacks be disabled?
- enable
Automatic BooleanOs Upgrade - Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- disable
Automatic booleanRollback - Should automatic rollbacks be disabled?
- enable
Automatic booleanOs Upgrade - Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- disable_
automatic_ boolrollback - Should automatic rollbacks be disabled?
- enable_
automatic_ boolos_ upgrade - Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
- disable
Automatic BooleanRollback - Should automatic rollbacks be disabled?
- enable
Automatic BooleanOs Upgrade - Should OS Upgrades automatically be applied to Scale Set instances in a rolling fashion when a newer version of the OS Image becomes available?
LinuxVirtualMachineScaleSetBootDiagnostics, LinuxVirtualMachineScaleSetBootDiagnosticsArgs
- Storage
Account stringUri The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics.
- Storage
Account stringUri The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics.
- storage
Account StringUri The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics.
- storage
Account stringUri The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics.
- storage_
account_ struri The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics.
- storage
Account StringUri The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
Note: Passing a null value will utilize a Managed Storage Account to store Boot Diagnostics.
LinuxVirtualMachineScaleSetDataDisk, LinuxVirtualMachineScaleSetDataDiskArgs
- Caching string
- The type of Caching which should be used for this Data Disk. Possible values are
None
,ReadOnly
andReadWrite
. - Disk
Size intGb - The size of the Data Disk which should be created.
- Lun int
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- Storage
Account stringType The Type of Storage Account which should back this Data Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
,PremiumV2_LRS
,Premium_ZRS
andUltraSSD_LRS
.Note:
UltraSSD_LRS
is only supported whenultra_ssd_enabled
within theadditional_capabilities
block is enabled.- Create
Option string - The create option which should be used for this Data Disk. Possible values are
Empty
andFromImage
. Defaults toEmpty
. (FromImage
should only be used if the source image includes data disks). - Disk
Encryption stringSet Id The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.
Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- Name string
- The name of the Data Disk.
- Ultra
Ssd intDisk Iops Read Write - Specifies the Read-Write IOPS for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - Ultra
Ssd intDisk Mbps Read Write - Specifies the bandwidth in MB per second for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - Write
Accelerator boolEnabled Should Write Accelerator be enabled for this Data Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- Caching string
- The type of Caching which should be used for this Data Disk. Possible values are
None
,ReadOnly
andReadWrite
. - Disk
Size intGb - The size of the Data Disk which should be created.
- Lun int
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- Storage
Account stringType The Type of Storage Account which should back this Data Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
,PremiumV2_LRS
,Premium_ZRS
andUltraSSD_LRS
.Note:
UltraSSD_LRS
is only supported whenultra_ssd_enabled
within theadditional_capabilities
block is enabled.- Create
Option string - The create option which should be used for this Data Disk. Possible values are
Empty
andFromImage
. Defaults toEmpty
. (FromImage
should only be used if the source image includes data disks). - Disk
Encryption stringSet Id The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.
Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- Name string
- The name of the Data Disk.
- Ultra
Ssd intDisk Iops Read Write - Specifies the Read-Write IOPS for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - Ultra
Ssd intDisk Mbps Read Write - Specifies the bandwidth in MB per second for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - Write
Accelerator boolEnabled Should Write Accelerator be enabled for this Data Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- caching String
- The type of Caching which should be used for this Data Disk. Possible values are
None
,ReadOnly
andReadWrite
. - disk
Size IntegerGb - The size of the Data Disk which should be created.
- lun Integer
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- storage
Account StringType The Type of Storage Account which should back this Data Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
,PremiumV2_LRS
,Premium_ZRS
andUltraSSD_LRS
.Note:
UltraSSD_LRS
is only supported whenultra_ssd_enabled
within theadditional_capabilities
block is enabled.- create
Option String - The create option which should be used for this Data Disk. Possible values are
Empty
andFromImage
. Defaults toEmpty
. (FromImage
should only be used if the source image includes data disks). - disk
Encryption StringSet Id The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.
Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- name String
- The name of the Data Disk.
- ultra
Ssd IntegerDisk Iops Read Write - Specifies the Read-Write IOPS for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - ultra
Ssd IntegerDisk Mbps Read Write - Specifies the bandwidth in MB per second for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - write
Accelerator BooleanEnabled Should Write Accelerator be enabled for this Data Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- caching string
- The type of Caching which should be used for this Data Disk. Possible values are
None
,ReadOnly
andReadWrite
. - disk
Size numberGb - The size of the Data Disk which should be created.
- lun number
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- storage
Account stringType The Type of Storage Account which should back this Data Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
,PremiumV2_LRS
,Premium_ZRS
andUltraSSD_LRS
.Note:
UltraSSD_LRS
is only supported whenultra_ssd_enabled
within theadditional_capabilities
block is enabled.- create
Option string - The create option which should be used for this Data Disk. Possible values are
Empty
andFromImage
. Defaults toEmpty
. (FromImage
should only be used if the source image includes data disks). - disk
Encryption stringSet Id The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.
Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- name string
- The name of the Data Disk.
- ultra
Ssd numberDisk Iops Read Write - Specifies the Read-Write IOPS for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - ultra
Ssd numberDisk Mbps Read Write - Specifies the bandwidth in MB per second for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - write
Accelerator booleanEnabled Should Write Accelerator be enabled for this Data Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- caching str
- The type of Caching which should be used for this Data Disk. Possible values are
None
,ReadOnly
andReadWrite
. - disk_
size_ intgb - The size of the Data Disk which should be created.
- lun int
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- storage_
account_ strtype The Type of Storage Account which should back this Data Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
,PremiumV2_LRS
,Premium_ZRS
andUltraSSD_LRS
.Note:
UltraSSD_LRS
is only supported whenultra_ssd_enabled
within theadditional_capabilities
block is enabled.- create_
option str - The create option which should be used for this Data Disk. Possible values are
Empty
andFromImage
. Defaults toEmpty
. (FromImage
should only be used if the source image includes data disks). - disk_
encryption_ strset_ id The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.
Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- name str
- The name of the Data Disk.
- ultra_
ssd_ intdisk_ iops_ read_ write - Specifies the Read-Write IOPS for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - ultra_
ssd_ intdisk_ mbps_ read_ write - Specifies the bandwidth in MB per second for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - write_
accelerator_ boolenabled Should Write Accelerator be enabled for this Data Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- caching String
- The type of Caching which should be used for this Data Disk. Possible values are
None
,ReadOnly
andReadWrite
. - disk
Size NumberGb - The size of the Data Disk which should be created.
- lun Number
- The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
- storage
Account StringType The Type of Storage Account which should back this Data Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
,PremiumV2_LRS
,Premium_ZRS
andUltraSSD_LRS
.Note:
UltraSSD_LRS
is only supported whenultra_ssd_enabled
within theadditional_capabilities
block is enabled.- create
Option String - The create option which should be used for this Data Disk. Possible values are
Empty
andFromImage
. Defaults toEmpty
. (FromImage
should only be used if the source image includes data disks). - disk
Encryption StringSet Id The ID of the Disk Encryption Set which should be used to encrypt this Data Disk. Changing this forces a new resource to be created.
Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- name String
- The name of the Data Disk.
- ultra
Ssd NumberDisk Iops Read Write - Specifies the Read-Write IOPS for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - ultra
Ssd NumberDisk Mbps Read Write - Specifies the bandwidth in MB per second for this Data Disk. Only settable when
storage_account_type
isPremiumV2_LRS
orUltraSSD_LRS
. - write
Accelerator BooleanEnabled Should Write Accelerator be enabled for this Data Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
LinuxVirtualMachineScaleSetExtension, LinuxVirtualMachineScaleSetExtensionArgs
- Name string
- The name for the Virtual Machine Scale Set Extension.
- Publisher string
- Specifies the Publisher of the Extension.
- Type string
- Specifies the Type of the Extension.
- Type
Handler stringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- Auto
Upgrade boolMinor Version - Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to
true
. - Automatic
Upgrade boolEnabled - Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- Force
Update stringTag - A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- Protected
Settings string A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
Note: Keys within the
protected_settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.- Protected
Settings LinuxFrom Key Vault Virtual Machine Scale Set Extension Protected Settings From Key Vault A
protected_settings_from_key_vault
block as defined below.Note:
protected_settings_from_key_vault
cannot be used withprotected_settings
- Provision
After List<string>Extensions - An ordered list of Extension names which this should be provisioned after.
- Settings string
A JSON String which specifies Settings for the Extension.
Note: Keys within the
settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- Name string
- The name for the Virtual Machine Scale Set Extension.
- Publisher string
- Specifies the Publisher of the Extension.
- Type string
- Specifies the Type of the Extension.
- Type
Handler stringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- Auto
Upgrade boolMinor Version - Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to
true
. - Automatic
Upgrade boolEnabled - Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- Force
Update stringTag - A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- Protected
Settings string A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
Note: Keys within the
protected_settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.- Protected
Settings LinuxFrom Key Vault Virtual Machine Scale Set Extension Protected Settings From Key Vault A
protected_settings_from_key_vault
block as defined below.Note:
protected_settings_from_key_vault
cannot be used withprotected_settings
- Provision
After []stringExtensions - An ordered list of Extension names which this should be provisioned after.
- Settings string
A JSON String which specifies Settings for the Extension.
Note: Keys within the
settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- name String
- The name for the Virtual Machine Scale Set Extension.
- publisher String
- Specifies the Publisher of the Extension.
- type String
- Specifies the Type of the Extension.
- type
Handler StringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- auto
Upgrade BooleanMinor Version - Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to
true
. - automatic
Upgrade BooleanEnabled - Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- force
Update StringTag - A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- protected
Settings String A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
Note: Keys within the
protected_settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.- protected
Settings LinuxFrom Key Vault Virtual Machine Scale Set Extension Protected Settings From Key Vault A
protected_settings_from_key_vault
block as defined below.Note:
protected_settings_from_key_vault
cannot be used withprotected_settings
- provision
After List<String>Extensions - An ordered list of Extension names which this should be provisioned after.
- settings String
A JSON String which specifies Settings for the Extension.
Note: Keys within the
settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- name string
- The name for the Virtual Machine Scale Set Extension.
- publisher string
- Specifies the Publisher of the Extension.
- type string
- Specifies the Type of the Extension.
- type
Handler stringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- auto
Upgrade booleanMinor Version - Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to
true
. - automatic
Upgrade booleanEnabled - Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- force
Update stringTag - A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- protected
Settings string A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
Note: Keys within the
protected_settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.- protected
Settings LinuxFrom Key Vault Virtual Machine Scale Set Extension Protected Settings From Key Vault A
protected_settings_from_key_vault
block as defined below.Note:
protected_settings_from_key_vault
cannot be used withprotected_settings
- provision
After string[]Extensions - An ordered list of Extension names which this should be provisioned after.
- settings string
A JSON String which specifies Settings for the Extension.
Note: Keys within the
settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- name str
- The name for the Virtual Machine Scale Set Extension.
- publisher str
- Specifies the Publisher of the Extension.
- type str
- Specifies the Type of the Extension.
- type_
handler_ strversion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- auto_
upgrade_ boolminor_ version - Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to
true
. - automatic_
upgrade_ boolenabled - Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- force_
update_ strtag - A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- protected_
settings str A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
Note: Keys within the
protected_settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.- protected_
settings_ Linuxfrom_ key_ vault Virtual Machine Scale Set Extension Protected Settings From Key Vault A
protected_settings_from_key_vault
block as defined below.Note:
protected_settings_from_key_vault
cannot be used withprotected_settings
- provision_
after_ Sequence[str]extensions - An ordered list of Extension names which this should be provisioned after.
- settings str
A JSON String which specifies Settings for the Extension.
Note: Keys within the
settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
- name String
- The name for the Virtual Machine Scale Set Extension.
- publisher String
- Specifies the Publisher of the Extension.
- type String
- Specifies the Type of the Extension.
- type
Handler StringVersion - Specifies the version of the extension to use, available versions can be found using the Azure CLI.
- auto
Upgrade BooleanMinor Version - Should the latest version of the Extension be used at Deployment Time, if one is available? This won't auto-update the extension on existing installation. Defaults to
true
. - automatic
Upgrade BooleanEnabled - Should the Extension be automatically updated whenever the Publisher releases a new version of this VM Extension?
- force
Update StringTag - A value which, when different to the previous value can be used to force-run the Extension even if the Extension Configuration hasn't changed.
- protected
Settings String A JSON String which specifies Sensitive Settings (such as Passwords) for the Extension.
Note: Keys within the
protected_settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.- protected
Settings Property MapFrom Key Vault A
protected_settings_from_key_vault
block as defined below.Note:
protected_settings_from_key_vault
cannot be used withprotected_settings
- provision
After List<String>Extensions - An ordered list of Extension names which this should be provisioned after.
- settings String
A JSON String which specifies Settings for the Extension.
Note: Keys within the
settings
block are notoriously case-sensitive, where the casing required (e.g. TitleCase vs snakeCase) depends on the Extension being used. Please refer to the documentation for the specific Virtual Machine Extension you're looking to use for more information.
LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVault, LinuxVirtualMachineScaleSetExtensionProtectedSettingsFromKeyVaultArgs
- Secret
Url string - The URL to the Key Vault Secret which stores the protected settings.
- Source
Vault stringId - The ID of the source Key Vault.
- Secret
Url string - The URL to the Key Vault Secret which stores the protected settings.
- Source
Vault stringId - The ID of the source Key Vault.
- secret
Url String - The URL to the Key Vault Secret which stores the protected settings.
- source
Vault StringId - The ID of the source Key Vault.
- secret
Url string - The URL to the Key Vault Secret which stores the protected settings.
- source
Vault stringId - The ID of the source Key Vault.
- secret_
url str - The URL to the Key Vault Secret which stores the protected settings.
- source_
vault_ strid - The ID of the source Key Vault.
- secret
Url String - The URL to the Key Vault Secret which stores the protected settings.
- source
Vault StringId - The ID of the source Key Vault.
LinuxVirtualMachineScaleSetGalleryApplication, LinuxVirtualMachineScaleSetGalleryApplicationArgs
- Version
Id string - Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- Configuration
Blob stringUri - Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- Order int
- Specifies the order in which the packages have to be installed. Possible values are between
0
and2147483647
. Defaults to0
. Changing this forces a new resource to be created. - Tag string
- Specifies a passthrough value for more generic context. This field can be any valid
string
value. Changing this forces a new resource to be created.
- Version
Id string - Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- Configuration
Blob stringUri - Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- Order int
- Specifies the order in which the packages have to be installed. Possible values are between
0
and2147483647
. Defaults to0
. Changing this forces a new resource to be created. - Tag string
- Specifies a passthrough value for more generic context. This field can be any valid
string
value. Changing this forces a new resource to be created.
- version
Id String - Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- configuration
Blob StringUri - Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- order Integer
- Specifies the order in which the packages have to be installed. Possible values are between
0
and2147483647
. Defaults to0
. Changing this forces a new resource to be created. - tag String
- Specifies a passthrough value for more generic context. This field can be any valid
string
value. Changing this forces a new resource to be created.
- version
Id string - Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- configuration
Blob stringUri - Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- order number
- Specifies the order in which the packages have to be installed. Possible values are between
0
and2147483647
. Defaults to0
. Changing this forces a new resource to be created. - tag string
- Specifies a passthrough value for more generic context. This field can be any valid
string
value. Changing this forces a new resource to be created.
- version_
id str - Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- configuration_
blob_ struri - Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- order int
- Specifies the order in which the packages have to be installed. Possible values are between
0
and2147483647
. Defaults to0
. Changing this forces a new resource to be created. - tag str
- Specifies a passthrough value for more generic context. This field can be any valid
string
value. Changing this forces a new resource to be created.
- version
Id String - Specifies the Gallery Application Version resource ID. Changing this forces a new resource to be created.
- configuration
Blob StringUri - Specifies the URI to an Azure Blob that will replace the default configuration for the package if provided. Changing this forces a new resource to be created.
- order Number
- Specifies the order in which the packages have to be installed. Possible values are between
0
and2147483647
. Defaults to0
. Changing this forces a new resource to be created. - tag String
- Specifies a passthrough value for more generic context. This field can be any valid
string
value. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetIdentity, LinuxVirtualMachineScaleSetIdentityArgs
- Type string
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both). - Identity
Ids List<string> Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.
Note: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- Principal
Id string - The Principal ID associated with this Managed Service Identity.
- Tenant
Id string - The Tenant ID associated with this Managed Service Identity.
- Type string
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both). - Identity
Ids []string Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.
Note: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- Principal
Id string - The Principal ID associated with this Managed Service Identity.
- Tenant
Id string - The Tenant ID associated with this Managed Service Identity.
- type String
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both). - identity
Ids List<String> Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.
Note: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- principal
Id String - The Principal ID associated with this Managed Service Identity.
- tenant
Id String - The Tenant ID associated with this Managed Service Identity.
- type string
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both). - identity
Ids string[] Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.
Note: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- principal
Id string - The Principal ID associated with this Managed Service Identity.
- tenant
Id string - The Tenant ID associated with this Managed Service Identity.
- type str
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both). - identity_
ids Sequence[str] Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.
Note: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- principal_
id str - The Principal ID associated with this Managed Service Identity.
- tenant_
id str - The Tenant ID associated with this Managed Service Identity.
- type String
- Specifies the type of Managed Service Identity that should be configured on this Linux Virtual Machine Scale Set. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both). - identity
Ids List<String> Specifies a list of User Assigned Managed Identity IDs to be assigned to this Linux Virtual Machine Scale Set.
Note: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- principal
Id String - The Principal ID associated with this Managed Service Identity.
- tenant
Id String - The Tenant ID associated with this Managed Service Identity.
LinuxVirtualMachineScaleSetNetworkInterface, LinuxVirtualMachineScaleSetNetworkInterfaceArgs
- Ip
Configurations List<LinuxVirtual Machine Scale Set Network Interface Ip Configuration> - One or more
ip_configuration
blocks as defined above. - Name string
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- Dns
Servers List<string> - A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- Enable
Accelerated boolNetworking - Does this Network Interface support Accelerated Networking? Defaults to
false
. - Enable
Ip boolForwarding - Does this Network Interface support IP Forwarding? Defaults to
false
. - Network
Security stringGroup Id - The ID of a Network Security Group which should be assigned to this Network Interface.
- Primary bool
Is this the Primary IP Configuration?
Note: If multiple
network_interface
blocks are specified, one must be set toprimary
.
- Ip
Configurations []LinuxVirtual Machine Scale Set Network Interface Ip Configuration - One or more
ip_configuration
blocks as defined above. - Name string
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- Dns
Servers []string - A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- Enable
Accelerated boolNetworking - Does this Network Interface support Accelerated Networking? Defaults to
false
. - Enable
Ip boolForwarding - Does this Network Interface support IP Forwarding? Defaults to
false
. - Network
Security stringGroup Id - The ID of a Network Security Group which should be assigned to this Network Interface.
- Primary bool
Is this the Primary IP Configuration?
Note: If multiple
network_interface
blocks are specified, one must be set toprimary
.
- ip
Configurations List<LinuxVirtual Machine Scale Set Network Interface Ip Configuration> - One or more
ip_configuration
blocks as defined above. - name String
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- dns
Servers List<String> - A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- enable
Accelerated BooleanNetworking - Does this Network Interface support Accelerated Networking? Defaults to
false
. - enable
Ip BooleanForwarding - Does this Network Interface support IP Forwarding? Defaults to
false
. - network
Security StringGroup Id - The ID of a Network Security Group which should be assigned to this Network Interface.
- primary Boolean
Is this the Primary IP Configuration?
Note: If multiple
network_interface
blocks are specified, one must be set toprimary
.
- ip
Configurations LinuxVirtual Machine Scale Set Network Interface Ip Configuration[] - One or more
ip_configuration
blocks as defined above. - name string
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- dns
Servers string[] - A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- enable
Accelerated booleanNetworking - Does this Network Interface support Accelerated Networking? Defaults to
false
. - enable
Ip booleanForwarding - Does this Network Interface support IP Forwarding? Defaults to
false
. - network
Security stringGroup Id - The ID of a Network Security Group which should be assigned to this Network Interface.
- primary boolean
Is this the Primary IP Configuration?
Note: If multiple
network_interface
blocks are specified, one must be set toprimary
.
- ip_
configurations Sequence[LinuxVirtual Machine Scale Set Network Interface Ip Configuration] - One or more
ip_configuration
blocks as defined above. - name str
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- dns_
servers Sequence[str] - A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- enable_
accelerated_ boolnetworking - Does this Network Interface support Accelerated Networking? Defaults to
false
. - enable_
ip_ boolforwarding - Does this Network Interface support IP Forwarding? Defaults to
false
. - network_
security_ strgroup_ id - The ID of a Network Security Group which should be assigned to this Network Interface.
- primary bool
Is this the Primary IP Configuration?
Note: If multiple
network_interface
blocks are specified, one must be set toprimary
.
- ip
Configurations List<Property Map> - One or more
ip_configuration
blocks as defined above. - name String
- The Name which should be used for this Network Interface. Changing this forces a new resource to be created.
- dns
Servers List<String> - A list of IP Addresses of DNS Servers which should be assigned to the Network Interface.
- enable
Accelerated BooleanNetworking - Does this Network Interface support Accelerated Networking? Defaults to
false
. - enable
Ip BooleanForwarding - Does this Network Interface support IP Forwarding? Defaults to
false
. - network
Security StringGroup Id - The ID of a Network Security Group which should be assigned to this Network Interface.
- primary Boolean
Is this the Primary IP Configuration?
Note: If multiple
network_interface
blocks are specified, one must be set toprimary
.
LinuxVirtualMachineScaleSetNetworkInterfaceIpConfiguration, LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationArgs
- Name string
- The Name which should be used for this IP Configuration.
- Application
Gateway List<string>Backend Address Pool Ids - A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- Application
Security List<string>Group Ids - A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- Load
Balancer List<string>Backend Address Pool Ids A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g.
Basic
orStandard
). Alternatively, you may use thepublic_ip_prefix_id
field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-groupResourceGroupName
--nameVirtualMachineScaleSetName
CLI command.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 A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
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.- Primary bool
Is this the Primary IP Configuration for this Network Interface? Defaults to
false
.Note: One
ip_configuration
block must be marked as Primary for each Network Interface.- Public
Ip List<LinuxAddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address> - A
public_ip_address
block as defined below. - Subnet
Id string The ID of the Subnet which this IP Configuration should be connected to.
subnet_id
is required ifversion
is set toIPv4
.- Version string
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are
IPv4
andIPv6
. Defaults toIPv4
.
- Name string
- The Name which should be used for this IP Configuration.
- Application
Gateway []stringBackend Address Pool Ids - A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- Application
Security []stringGroup Ids - A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- Load
Balancer []stringBackend Address Pool Ids A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g.
Basic
orStandard
). Alternatively, you may use thepublic_ip_prefix_id
field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-groupResourceGroupName
--nameVirtualMachineScaleSetName
CLI command.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 A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
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.- Primary bool
Is this the Primary IP Configuration for this Network Interface? Defaults to
false
.Note: One
ip_configuration
block must be marked as Primary for each Network Interface.- Public
Ip []LinuxAddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address - A
public_ip_address
block as defined below. - Subnet
Id string The ID of the Subnet which this IP Configuration should be connected to.
subnet_id
is required ifversion
is set toIPv4
.- Version string
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are
IPv4
andIPv6
. Defaults toIPv4
.
- name String
- The Name which should be used for this IP Configuration.
- application
Gateway List<String>Backend Address Pool Ids - A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- application
Security List<String>Group Ids - A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- load
Balancer List<String>Backend Address Pool Ids A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g.
Basic
orStandard
). Alternatively, you may use thepublic_ip_prefix_id
field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-groupResourceGroupName
--nameVirtualMachineScaleSetName
CLI command.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 A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
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.- primary Boolean
Is this the Primary IP Configuration for this Network Interface? Defaults to
false
.Note: One
ip_configuration
block must be marked as Primary for each Network Interface.- public
Ip List<LinuxAddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address> - A
public_ip_address
block as defined below. - subnet
Id String The ID of the Subnet which this IP Configuration should be connected to.
subnet_id
is required ifversion
is set toIPv4
.- version String
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are
IPv4
andIPv6
. Defaults toIPv4
.
- name string
- The Name which should be used for this IP Configuration.
- application
Gateway string[]Backend Address Pool Ids - A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- application
Security string[]Group Ids - A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- load
Balancer string[]Backend Address Pool Ids A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g.
Basic
orStandard
). Alternatively, you may use thepublic_ip_prefix_id
field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-groupResourceGroupName
--nameVirtualMachineScaleSetName
CLI command.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 A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
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.- primary boolean
Is this the Primary IP Configuration for this Network Interface? Defaults to
false
.Note: One
ip_configuration
block must be marked as Primary for each Network Interface.- public
Ip LinuxAddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address[] - A
public_ip_address
block as defined below. - subnet
Id string The ID of the Subnet which this IP Configuration should be connected to.
subnet_id
is required ifversion
is set toIPv4
.- version string
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are
IPv4
andIPv6
. Defaults toIPv4
.
- name str
- The Name which should be used for this IP Configuration.
- application_
gateway_ Sequence[str]backend_ address_ pool_ ids - A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- application_
security_ Sequence[str]group_ ids - A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- load_
balancer_ Sequence[str]backend_ address_ pool_ ids A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g.
Basic
orStandard
). Alternatively, you may use thepublic_ip_prefix_id
field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-groupResourceGroupName
--nameVirtualMachineScaleSetName
CLI command.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 A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
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.- primary bool
Is this the Primary IP Configuration for this Network Interface? Defaults to
false
.Note: One
ip_configuration
block must be marked as Primary for each Network Interface.- public_
ip_ Sequence[Linuxaddresses Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address] - A
public_ip_address
block as defined below. - subnet_
id str The ID of the Subnet which this IP Configuration should be connected to.
subnet_id
is required ifversion
is set toIPv4
.- version str
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are
IPv4
andIPv6
. Defaults toIPv4
.
- name String
- The Name which should be used for this IP Configuration.
- application
Gateway List<String>Backend Address Pool Ids - A list of Backend Address Pools ID's from a Application Gateway which this Virtual Machine Scale Set should be connected to.
- application
Security List<String>Group Ids - A list of Application Security Group ID's which this Virtual Machine Scale Set should be connected to.
- load
Balancer List<String>Backend Address Pool Ids A list of Backend Address Pools ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
Note: When the Virtual Machine Scale Set is configured to have public IPs per instance are created with a load balancer, the SKU of the Virtual Machine instance IPs is determined by the SKU of the Virtual Machine Scale Sets Load Balancer (e.g.
Basic
orStandard
). Alternatively, you may use thepublic_ip_prefix_id
field to generate instance-level IPs in a virtual machine scale set as well. The zonal properties of the prefix will be passed to the Virtual Machine instance IPs, though they will not be shown in the output. To view the public IP addresses assigned to the Virtual Machine Scale Sets Virtual Machine instances use the az vmss list-instance-public-ips --resource-groupResourceGroupName
--nameVirtualMachineScaleSetName
CLI command.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 A list of NAT Rule ID's from a Load Balancer which this Virtual Machine Scale Set should be connected to.
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.- primary Boolean
Is this the Primary IP Configuration for this Network Interface? Defaults to
false
.Note: One
ip_configuration
block must be marked as Primary for each Network Interface.- public
Ip List<Property Map>Addresses - A
public_ip_address
block as defined below. - subnet
Id String The ID of the Subnet which this IP Configuration should be connected to.
subnet_id
is required ifversion
is set toIPv4
.- version String
- The Internet Protocol Version which should be used for this IP Configuration. Possible values are
IPv4
andIPv6
. Defaults toIPv4
.
LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddress, LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressArgs
- Name string
- The Name of the Public IP Address Configuration.
- Domain
Name stringLabel - The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- Idle
Timeout intIn Minutes - The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range
4
to32
. - List<Linux
Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag> - One or more
ip_tag
blocks as defined above. Changing this forces a new resource to be created. - Public
Ip stringPrefix Id The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
Note: This functionality is in Preview and must be opted into via
az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress
and thenaz provider register -n Microsoft.Network
.- Version string
- The Internet Protocol Version which should be used for this public IP address. Possible values are
IPv4
andIPv6
. Defaults toIPv4
. Changing this forces a new resource to be created.
- Name string
- The Name of the Public IP Address Configuration.
- Domain
Name stringLabel - The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- Idle
Timeout intIn Minutes - The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range
4
to32
. - []Linux
Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag - One or more
ip_tag
blocks as defined above. Changing this forces a new resource to be created. - Public
Ip stringPrefix Id The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
Note: This functionality is in Preview and must be opted into via
az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress
and thenaz provider register -n Microsoft.Network
.- Version string
- The Internet Protocol Version which should be used for this public IP address. Possible values are
IPv4
andIPv6
. Defaults toIPv4
. Changing this forces a new resource to be created.
- name String
- The Name of the Public IP Address Configuration.
- domain
Name StringLabel - The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- idle
Timeout IntegerIn Minutes - The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range
4
to32
. - List<Linux
Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag> - One or more
ip_tag
blocks as defined above. Changing this forces a new resource to be created. - public
Ip StringPrefix Id The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
Note: This functionality is in Preview and must be opted into via
az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress
and thenaz provider register -n Microsoft.Network
.- version String
- The Internet Protocol Version which should be used for this public IP address. Possible values are
IPv4
andIPv6
. Defaults toIPv4
. Changing this forces a new resource to be created.
- name string
- The Name of the Public IP Address Configuration.
- domain
Name stringLabel - The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- idle
Timeout numberIn Minutes - The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range
4
to32
. - Linux
Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag[] - One or more
ip_tag
blocks as defined above. Changing this forces a new resource to be created. - public
Ip stringPrefix Id The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
Note: This functionality is in Preview and must be opted into via
az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress
and thenaz provider register -n Microsoft.Network
.- version string
- The Internet Protocol Version which should be used for this public IP address. Possible values are
IPv4
andIPv6
. Defaults toIPv4
. Changing this forces a new resource to be created.
- name str
- The Name of the Public IP Address Configuration.
- domain_
name_ strlabel - The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- idle_
timeout_ intin_ minutes - The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range
4
to32
. - Sequence[Linux
Virtual Machine Scale Set Network Interface Ip Configuration Public Ip Address Ip Tag] - One or more
ip_tag
blocks as defined above. Changing this forces a new resource to be created. - public_
ip_ strprefix_ id The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
Note: This functionality is in Preview and must be opted into via
az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress
and thenaz provider register -n Microsoft.Network
.- version str
- The Internet Protocol Version which should be used for this public IP address. Possible values are
IPv4
andIPv6
. Defaults toIPv4
. Changing this forces a new resource to be created.
- name String
- The Name of the Public IP Address Configuration.
- domain
Name StringLabel - The Prefix which should be used for the Domain Name Label for each Virtual Machine Instance. Azure concatenates the Domain Name Label and Virtual Machine Index to create a unique Domain Name Label for each Virtual Machine.
- idle
Timeout NumberIn Minutes - The Idle Timeout in Minutes for the Public IP Address. Possible values are in the range
4
to32
. - List<Property Map>
- One or more
ip_tag
blocks as defined above. Changing this forces a new resource to be created. - public
Ip StringPrefix Id The ID of the Public IP Address Prefix from where Public IP Addresses should be allocated. Changing this forces a new resource to be created.
Note: This functionality is in Preview and must be opted into via
az feature register --namespace Microsoft.Network --name AllowBringYourOwnPublicIpAddress
and thenaz provider register -n Microsoft.Network
.- version String
- The Internet Protocol Version which should be used for this public IP address. Possible values are
IPv4
andIPv6
. Defaults toIPv4
. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTag, LinuxVirtualMachineScaleSetNetworkInterfaceIpConfigurationPublicIpAddressIpTagArgs
LinuxVirtualMachineScaleSetOsDisk, LinuxVirtualMachineScaleSetOsDiskArgs
- Caching string
- The Type of Caching which should be used for the Internal OS Disk. Possible values are
None
,ReadOnly
andReadWrite
. - Storage
Account stringType - The Type of Storage Account which should back this the Internal OS Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
andPremium_ZRS
. Changing this forces a new resource to be created. - Diff
Disk LinuxSettings Virtual Machine Scale Set Os Disk Diff Disk Settings - A
diff_disk_settings
block as defined above. Changing this forces a new resource to be created. - Disk
Encryption stringSet Id The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with
secure_vm_disk_encryption_set_id
. Changing this forces a new resource to be created.Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- Disk
Size intGb The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.
- Secure
Vm stringDisk Encryption Set Id The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with
disk_encryption_set_id
. Changing this forces a new resource to be created.Note:
secure_vm_disk_encryption_set_id
can only be specified whensecurity_encryption_type
is set toDiskWithVMGuestState
.- Security
Encryption stringType Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are
VMGuestStateOnly
andDiskWithVMGuestState
. Changing this forces a new resource to be created.Note:
vtpm_enabled
must be set totrue
whensecurity_encryption_type
is specified.Note:
encryption_at_host_enabled
cannot be set totrue
whensecurity_encryption_type
is set toDiskWithVMGuestState
.- Write
Accelerator boolEnabled Should Write Accelerator be Enabled for this OS Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- Caching string
- The Type of Caching which should be used for the Internal OS Disk. Possible values are
None
,ReadOnly
andReadWrite
. - Storage
Account stringType - The Type of Storage Account which should back this the Internal OS Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
andPremium_ZRS
. Changing this forces a new resource to be created. - Diff
Disk LinuxSettings Virtual Machine Scale Set Os Disk Diff Disk Settings - A
diff_disk_settings
block as defined above. Changing this forces a new resource to be created. - Disk
Encryption stringSet Id The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with
secure_vm_disk_encryption_set_id
. Changing this forces a new resource to be created.Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- Disk
Size intGb The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.
- Secure
Vm stringDisk Encryption Set Id The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with
disk_encryption_set_id
. Changing this forces a new resource to be created.Note:
secure_vm_disk_encryption_set_id
can only be specified whensecurity_encryption_type
is set toDiskWithVMGuestState
.- Security
Encryption stringType Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are
VMGuestStateOnly
andDiskWithVMGuestState
. Changing this forces a new resource to be created.Note:
vtpm_enabled
must be set totrue
whensecurity_encryption_type
is specified.Note:
encryption_at_host_enabled
cannot be set totrue
whensecurity_encryption_type
is set toDiskWithVMGuestState
.- Write
Accelerator boolEnabled Should Write Accelerator be Enabled for this OS Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- caching String
- The Type of Caching which should be used for the Internal OS Disk. Possible values are
None
,ReadOnly
andReadWrite
. - storage
Account StringType - The Type of Storage Account which should back this the Internal OS Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
andPremium_ZRS
. Changing this forces a new resource to be created. - diff
Disk LinuxSettings Virtual Machine Scale Set Os Disk Diff Disk Settings - A
diff_disk_settings
block as defined above. Changing this forces a new resource to be created. - disk
Encryption StringSet Id The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with
secure_vm_disk_encryption_set_id
. Changing this forces a new resource to be created.Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- disk
Size IntegerGb The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.
- secure
Vm StringDisk Encryption Set Id The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with
disk_encryption_set_id
. Changing this forces a new resource to be created.Note:
secure_vm_disk_encryption_set_id
can only be specified whensecurity_encryption_type
is set toDiskWithVMGuestState
.- security
Encryption StringType Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are
VMGuestStateOnly
andDiskWithVMGuestState
. Changing this forces a new resource to be created.Note:
vtpm_enabled
must be set totrue
whensecurity_encryption_type
is specified.Note:
encryption_at_host_enabled
cannot be set totrue
whensecurity_encryption_type
is set toDiskWithVMGuestState
.- write
Accelerator BooleanEnabled Should Write Accelerator be Enabled for this OS Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- caching string
- The Type of Caching which should be used for the Internal OS Disk. Possible values are
None
,ReadOnly
andReadWrite
. - storage
Account stringType - The Type of Storage Account which should back this the Internal OS Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
andPremium_ZRS
. Changing this forces a new resource to be created. - diff
Disk LinuxSettings Virtual Machine Scale Set Os Disk Diff Disk Settings - A
diff_disk_settings
block as defined above. Changing this forces a new resource to be created. - disk
Encryption stringSet Id The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with
secure_vm_disk_encryption_set_id
. Changing this forces a new resource to be created.Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- disk
Size numberGb The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.
- secure
Vm stringDisk Encryption Set Id The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with
disk_encryption_set_id
. Changing this forces a new resource to be created.Note:
secure_vm_disk_encryption_set_id
can only be specified whensecurity_encryption_type
is set toDiskWithVMGuestState
.- security
Encryption stringType Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are
VMGuestStateOnly
andDiskWithVMGuestState
. Changing this forces a new resource to be created.Note:
vtpm_enabled
must be set totrue
whensecurity_encryption_type
is specified.Note:
encryption_at_host_enabled
cannot be set totrue
whensecurity_encryption_type
is set toDiskWithVMGuestState
.- write
Accelerator booleanEnabled Should Write Accelerator be Enabled for this OS Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- caching str
- The Type of Caching which should be used for the Internal OS Disk. Possible values are
None
,ReadOnly
andReadWrite
. - storage_
account_ strtype - The Type of Storage Account which should back this the Internal OS Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
andPremium_ZRS
. Changing this forces a new resource to be created. - diff_
disk_ Linuxsettings Virtual Machine Scale Set Os Disk Diff Disk Settings - A
diff_disk_settings
block as defined above. Changing this forces a new resource to be created. - disk_
encryption_ strset_ id The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with
secure_vm_disk_encryption_set_id
. Changing this forces a new resource to be created.Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- disk_
size_ intgb The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.
- secure_
vm_ strdisk_ encryption_ set_ id The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with
disk_encryption_set_id
. Changing this forces a new resource to be created.Note:
secure_vm_disk_encryption_set_id
can only be specified whensecurity_encryption_type
is set toDiskWithVMGuestState
.- security_
encryption_ strtype Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are
VMGuestStateOnly
andDiskWithVMGuestState
. Changing this forces a new resource to be created.Note:
vtpm_enabled
must be set totrue
whensecurity_encryption_type
is specified.Note:
encryption_at_host_enabled
cannot be set totrue
whensecurity_encryption_type
is set toDiskWithVMGuestState
.- write_
accelerator_ boolenabled Should Write Accelerator be Enabled for this OS Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
- caching String
- The Type of Caching which should be used for the Internal OS Disk. Possible values are
None
,ReadOnly
andReadWrite
. - storage
Account StringType - The Type of Storage Account which should back this the Internal OS Disk. Possible values include
Standard_LRS
,StandardSSD_LRS
,StandardSSD_ZRS
,Premium_LRS
andPremium_ZRS
. Changing this forces a new resource to be created. - diff
Disk Property MapSettings - A
diff_disk_settings
block as defined above. Changing this forces a new resource to be created. - disk
Encryption StringSet Id The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Conflicts with
secure_vm_disk_encryption_set_id
. Changing this forces a new resource to be created.Note: The Disk Encryption Set must have the
Reader
Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key VaultNote: Disk Encryption Sets are in Public Preview in a limited set of regions
- disk
Size NumberGb The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
Note: If specified this must be equal to or larger than the size of the Image the VM Scale Set is based on. When creating a larger disk than exists in the image you'll need to repartition the disk to use the remaining space.
- secure
Vm StringDisk Encryption Set Id The ID of the Disk Encryption Set which should be used to Encrypt the OS Disk when the Virtual Machine Scale Set is Confidential VMSS. Conflicts with
disk_encryption_set_id
. Changing this forces a new resource to be created.Note:
secure_vm_disk_encryption_set_id
can only be specified whensecurity_encryption_type
is set toDiskWithVMGuestState
.- security
Encryption StringType Encryption Type when the Virtual Machine Scale Set is Confidential VMSS. Possible values are
VMGuestStateOnly
andDiskWithVMGuestState
. Changing this forces a new resource to be created.Note:
vtpm_enabled
must be set totrue
whensecurity_encryption_type
is specified.Note:
encryption_at_host_enabled
cannot be set totrue
whensecurity_encryption_type
is set toDiskWithVMGuestState
.- write
Accelerator BooleanEnabled Should Write Accelerator be Enabled for this OS Disk? Defaults to
false
.Note: This requires that the
storage_account_type
is set toPremium_LRS
and thatcaching
is set toNone
.
LinuxVirtualMachineScaleSetOsDiskDiffDiskSettings, LinuxVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs
- Option string
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is
Local
. Changing this forces a new resource to be created. - Placement string
- Specifies where to store the Ephemeral Disk. Possible values are
CacheDisk
andResourceDisk
. Defaults toCacheDisk
. Changing this forces a new resource to be created.
- Option string
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is
Local
. Changing this forces a new resource to be created. - Placement string
- Specifies where to store the Ephemeral Disk. Possible values are
CacheDisk
andResourceDisk
. Defaults toCacheDisk
. Changing this forces a new resource to be created.
- option String
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is
Local
. Changing this forces a new resource to be created. - placement String
- Specifies where to store the Ephemeral Disk. Possible values are
CacheDisk
andResourceDisk
. Defaults toCacheDisk
. Changing this forces a new resource to be created.
- option string
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is
Local
. Changing this forces a new resource to be created. - placement string
- Specifies where to store the Ephemeral Disk. Possible values are
CacheDisk
andResourceDisk
. Defaults toCacheDisk
. Changing this forces a new resource to be created.
- option str
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is
Local
. Changing this forces a new resource to be created. - placement str
- Specifies where to store the Ephemeral Disk. Possible values are
CacheDisk
andResourceDisk
. Defaults toCacheDisk
. Changing this forces a new resource to be created.
- option String
- Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is
Local
. Changing this forces a new resource to be created. - placement String
- Specifies where to store the Ephemeral Disk. Possible values are
CacheDisk
andResourceDisk
. Defaults toCacheDisk
. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetPlan, LinuxVirtualMachineScaleSetPlanArgs
- Name string
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- Product string
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- Publisher string
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- Name string
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- Product string
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- Publisher string
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- name String
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- product String
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- publisher String
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- name string
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- product string
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- publisher string
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- name str
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- product str
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- publisher str
- Specifies the publisher of the image. Changing this forces a new resource to be created.
- name String
- Specifies the name of the image from the marketplace. Changing this forces a new resource to be created.
- product String
- Specifies the product of the image from the marketplace. Changing this forces a new resource to be created.
- publisher String
- Specifies the publisher of the image. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetRollingUpgradePolicy, LinuxVirtualMachineScaleSetRollingUpgradePolicyArgs
- 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.
- 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.
- 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.
- 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.
- Cross
Zone boolUpgrades Enabled - Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are
true
orfalse
. - Maximum
Surge boolInstances Enabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are
true
orfalse
.Note:
overprovision
must be set tofalse
whenmaximum_surge_instances_enabled
is specified.- Prioritize
Unhealthy boolInstances Enabled - Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are
true
orfalse
.
- 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.
- 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.
- 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.
- 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.
- Cross
Zone boolUpgrades Enabled - Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are
true
orfalse
. - Maximum
Surge boolInstances Enabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are
true
orfalse
.Note:
overprovision
must be set tofalse
whenmaximum_surge_instances_enabled
is specified.- Prioritize
Unhealthy boolInstances Enabled - Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are
true
orfalse
.
- 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.
- 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.
- 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.
- 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.
- cross
Zone BooleanUpgrades Enabled - Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are
true
orfalse
. - maximum
Surge BooleanInstances Enabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are
true
orfalse
.Note:
overprovision
must be set tofalse
whenmaximum_surge_instances_enabled
is specified.- prioritize
Unhealthy BooleanInstances Enabled - Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are
true
orfalse
.
- 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.
- 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.
- 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.
- 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.
- cross
Zone booleanUpgrades Enabled - Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are
true
orfalse
. - maximum
Surge booleanInstances Enabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are
true
orfalse
.Note:
overprovision
must be set tofalse
whenmaximum_surge_instances_enabled
is specified.- prioritize
Unhealthy booleanInstances Enabled - Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are
true
orfalse
.
- 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.
- 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.
- 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.
- 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.
- cross_
zone_ boolupgrades_ enabled - Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are
true
orfalse
. - maximum_
surge_ boolinstances_ enabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are
true
orfalse
.Note:
overprovision
must be set tofalse
whenmaximum_surge_instances_enabled
is specified.- prioritize_
unhealthy_ boolinstances_ enabled - Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are
true
orfalse
.
- 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.
- 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.
- 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.
- 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.
- cross
Zone BooleanUpgrades Enabled - Should the Virtual Machine Scale Set ignore the Azure Zone boundaries when constructing upgrade batches? Possible values are
true
orfalse
. - maximum
Surge BooleanInstances Enabled Create new virtual machines to upgrade the scale set, rather than updating the existing virtual machines. Existing virtual machines will be deleted once the new virtual machines are created for each batch. Possible values are
true
orfalse
.Note:
overprovision
must be set tofalse
whenmaximum_surge_instances_enabled
is specified.- prioritize
Unhealthy BooleanInstances Enabled - Upgrade all unhealthy instances in a scale set before any healthy instances. Possible values are
true
orfalse
.
LinuxVirtualMachineScaleSetScaleIn, LinuxVirtualMachineScaleSetScaleInArgs
- Force
Deletion boolEnabled - Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are
true
orfalse
. Defaults tofalse
. - Rule string
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are
Default
,NewestVM
andOldestVM
, defaults toDefault
. For more information about scale in policy, please refer to this doc.
- Force
Deletion boolEnabled - Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are
true
orfalse
. Defaults tofalse
. - Rule string
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are
Default
,NewestVM
andOldestVM
, defaults toDefault
. For more information about scale in policy, please refer to this doc.
- force
Deletion BooleanEnabled - Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are
true
orfalse
. Defaults tofalse
. - rule String
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are
Default
,NewestVM
andOldestVM
, defaults toDefault
. For more information about scale in policy, please refer to this doc.
- force
Deletion booleanEnabled - Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are
true
orfalse
. Defaults tofalse
. - rule string
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are
Default
,NewestVM
andOldestVM
, defaults toDefault
. For more information about scale in policy, please refer to this doc.
- force_
deletion_ boolenabled - Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are
true
orfalse
. Defaults tofalse
. - rule str
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are
Default
,NewestVM
andOldestVM
, defaults toDefault
. For more information about scale in policy, please refer to this doc.
- force
Deletion BooleanEnabled - Should the virtual machines chosen for removal be force deleted when the virtual machine scale set is being scaled-in? Possible values are
true
orfalse
. Defaults tofalse
. - rule String
- The scale-in policy rule that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled in. Possible values for the scale-in policy rules are
Default
,NewestVM
andOldestVM
, defaults toDefault
. For more information about scale in policy, please refer to this doc.
LinuxVirtualMachineScaleSetSecret, LinuxVirtualMachineScaleSetSecretArgs
- Certificates
List<Linux
Virtual Machine Scale Set Secret Certificate> - One or more
certificate
blocks as defined above. - Key
Vault stringId - The ID of the Key Vault from which all Secrets should be sourced.
- Certificates
[]Linux
Virtual Machine Scale Set Secret Certificate - One or more
certificate
blocks as defined above. - Key
Vault stringId - The ID of the Key Vault from which all Secrets should be sourced.
- certificates
List<Linux
Virtual Machine Scale Set Secret Certificate> - One or more
certificate
blocks as defined above. - key
Vault StringId - The ID of the Key Vault from which all Secrets should be sourced.
- certificates
Linux
Virtual Machine Scale Set Secret Certificate[] - One or more
certificate
blocks as defined above. - key
Vault stringId - The ID of the Key Vault from which all Secrets should be sourced.
- certificates
Sequence[Linux
Virtual Machine Scale Set Secret Certificate] - One or more
certificate
blocks as defined above. - key_
vault_ strid - The ID of the Key Vault from which all Secrets should be sourced.
- certificates List<Property Map>
- One or more
certificate
blocks as defined above. - key
Vault StringId - The ID of the Key Vault from which all Secrets should be sourced.
LinuxVirtualMachineScaleSetSecretCertificate, LinuxVirtualMachineScaleSetSecretCertificateArgs
- Url string
The Secret URL of a Key Vault Certificate.
Note: This can be sourced from the
secret_id
field within theazure.keyvault.Certificate
Resource.Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure.
- Url string
The Secret URL of a Key Vault Certificate.
Note: This can be sourced from the
secret_id
field within theazure.keyvault.Certificate
Resource.Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure.
- url String
The Secret URL of a Key Vault Certificate.
Note: This can be sourced from the
secret_id
field within theazure.keyvault.Certificate
Resource.Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure.
- url string
The Secret URL of a Key Vault Certificate.
Note: This can be sourced from the
secret_id
field within theazure.keyvault.Certificate
Resource.Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure.
- url str
The Secret URL of a Key Vault Certificate.
Note: This can be sourced from the
secret_id
field within theazure.keyvault.Certificate
Resource.Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure.
- url String
The Secret URL of a Key Vault Certificate.
Note: This can be sourced from the
secret_id
field within theazure.keyvault.Certificate
Resource.Note: The certificate must have been uploaded/created in PFX format, PEM certificates are not currently supported by Azure.
LinuxVirtualMachineScaleSetSourceImageReference, LinuxVirtualMachineScaleSetSourceImageReferenceArgs
- Offer string
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- Publisher string
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- 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.
- Offer string
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- Publisher string
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- 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.
- offer String
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- publisher String
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- 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.
- offer string
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- publisher string
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- 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.
- offer str
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- publisher str
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- 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.
- offer String
- Specifies the offer of the image used to create the virtual machines. Changing this forces a new resource to be created.
- publisher String
- Specifies the publisher of the image used to create the virtual machines. Changing this forces a new resource to be created.
- 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.
LinuxVirtualMachineScaleSetSpotRestore, LinuxVirtualMachineScaleSetSpotRestoreArgs
- Enabled bool
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are
true
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created. - Timeout string
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between
15
minutes and120
minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H
. Changing this forces a new resource to be created.
- Enabled bool
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are
true
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created. - Timeout string
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between
15
minutes and120
minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H
. Changing this forces a new resource to be created.
- enabled Boolean
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are
true
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created. - timeout String
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between
15
minutes and120
minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H
. Changing this forces a new resource to be created.
- enabled boolean
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are
true
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created. - timeout string
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between
15
minutes and120
minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H
. Changing this forces a new resource to be created.
- enabled bool
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are
true
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created. - timeout str
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between
15
minutes and120
minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H
. Changing this forces a new resource to be created.
- enabled Boolean
- Should the Spot-Try-Restore feature be enabled? The Spot-Try-Restore feature will attempt to automatically restore the evicted Spot Virtual Machine Scale Set VM instances opportunistically based on capacity availability and pricing constraints. Possible values are
true
orfalse
. Defaults tofalse
. Changing this forces a new resource to be created. - timeout String
- The length of time that the Virtual Machine Scale Set should attempt to restore the Spot VM instances which have been evicted. The time duration should be between
15
minutes and120
minutes (inclusive). The time duration should be specified in the ISO 8601 format. Defaults toPT1H
. Changing this forces a new resource to be created.
LinuxVirtualMachineScaleSetTerminationNotification, LinuxVirtualMachineScaleSetTerminationNotificationArgs
- Enabled bool
- Should the termination notification be enabled on this Virtual Machine Scale Set?
- Timeout string
Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to
PT5M
.Note: For more information about the termination notification, please refer to this doc.
- Enabled bool
- Should the termination notification be enabled on this Virtual Machine Scale Set?
- Timeout string
Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to
PT5M
.Note: For more information about the termination notification, please refer to this doc.
- enabled Boolean
- Should the termination notification be enabled on this Virtual Machine Scale Set?
- timeout String
Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to
PT5M
.Note: For more information about the termination notification, please refer to this doc.
- enabled boolean
- Should the termination notification be enabled on this Virtual Machine Scale Set?
- timeout string
Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to
PT5M
.Note: For more information about the termination notification, please refer to this doc.
- enabled bool
- Should the termination notification be enabled on this Virtual Machine Scale Set?
- timeout str
Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to
PT5M
.Note: For more information about the termination notification, please refer to this doc.
- enabled Boolean
- Should the termination notification be enabled on this Virtual Machine Scale Set?
- timeout String
Length of time (in minutes, between 5 and 15) a notification to be sent to the VM on the instance metadata server till the VM gets deleted. The time duration should be specified in ISO 8601 format. Defaults to
PT5M
.Note: For more information about the termination notification, please refer to this doc.
Import
Linux Virtual Machine Scale Sets can be imported using the resource id
, e.g.
$ pulumi import azure:compute/linuxVirtualMachineScaleSet:LinuxVirtualMachineScaleSet example /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.