Class LinuxVirtualMachineScaleSet
Manages a Linux Virtual Machine Scale Set.
Disclaimers
Note This provider will automatically update & reimage the nodes in the Scale Set (if Required) during an Update - this behaviour can be configured using the
featuresconfiguration within the Provider configuration block.
Note: This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the
azure.compute.ScaleSetresource instead
Inherited Members
Namespace: Pulumi.Azure.Compute
Assembly: Pulumi.Azure.dll
Syntax
public class LinuxVirtualMachineScaleSet : CustomResource
Constructors
View SourceLinuxVirtualMachineScaleSet(String, LinuxVirtualMachineScaleSetArgs, CustomResourceOptions)
Create a LinuxVirtualMachineScaleSet resource with the given unique name, arguments, and options.
Declaration
public LinuxVirtualMachineScaleSet(string name, LinuxVirtualMachineScaleSetArgs args, CustomResourceOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The unique name of the resource |
| LinuxVirtualMachineScaleSetArgs | args | The arguments used to populate this resource's properties |
| CustomResourceOptions | options | A bag of options that control this resource's behavior |
Properties
View SourceAdditionalCapabilities
A additional_capabilities block as defined below.
Declaration
public Output<LinuxVirtualMachineScaleSetAdditionalCapabilities> AdditionalCapabilities { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetAdditionalCapabilities> |
AdminPassword
The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
Declaration
public Output<string> AdminPassword { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
AdminSshKeys
One or more admin_ssh_key blocks as defined below.
Declaration
public Output<ImmutableArray<LinuxVirtualMachineScaleSetAdminSshKey>> AdminSshKeys { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<LinuxVirtualMachineScaleSetAdminSshKey>> |
AdminUsername
The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
Declaration
public Output<string> AdminUsername { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
AutomaticInstanceRepair
A automatic_instance_repair block as defined below. To enable the automatic instance repair, this Virtual Machine Scale Set must have a valid health_probe_id or an Application Health Extension.
Declaration
public Output<LinuxVirtualMachineScaleSetAutomaticInstanceRepair> AutomaticInstanceRepair { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetAutomaticInstanceRepair> |
AutomaticOsUpgradePolicy
A automatic_os_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic.
Declaration
public Output<LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy> AutomaticOsUpgradePolicy { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetAutomaticOsUpgradePolicy> |
BootDiagnostics
A boot_diagnostics block as defined below.
Declaration
public Output<LinuxVirtualMachineScaleSetBootDiagnostics> BootDiagnostics { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetBootDiagnostics> |
ComputerNamePrefix
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 the name field is not a valid computer_name_prefix, then you must specify computer_name_prefix.
Declaration
public Output<string> ComputerNamePrefix { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
CustomData
The Base64-Encoded Custom Data which should be used for this Virtual Machine Scale Set.
Declaration
public Output<string> CustomData { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
DataDisks
One or more data_disk blocks as defined below.
Declaration
public Output<ImmutableArray<LinuxVirtualMachineScaleSetDataDisk>> DataDisks { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<LinuxVirtualMachineScaleSetDataDisk>> |
DisablePasswordAuthentication
Should Password Authentication be disabled on this Virtual Machine Scale Set? Defaults to true.
Declaration
public Output<bool?> DisablePasswordAuthentication { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
DoNotRunExtensionsOnOverprovisionedMachines
Should Virtual Machine Extensions be run on Overprovisioned Virtual Machines in the Scale Set? Defaults to false.
Declaration
public Output<bool?> DoNotRunExtensionsOnOverprovisionedMachines { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
EvictionPolicy
The Policy which should be used Virtual Machines are Evicted from the Scale Set. Changing this forces a new resource to be created.
Declaration
public Output<string> EvictionPolicy { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
HealthProbeId
The ID of a Load Balancer Probe which should be used to determine the health of an instance. Changing this forces a new resource to be created. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
Declaration
public Output<string> HealthProbeId { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Identity
A identity block as defined below.
Declaration
public Output<LinuxVirtualMachineScaleSetIdentity> Identity { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetIdentity> |
Instances
The number of Virtual Machines in the Scale Set.
Declaration
public Output<int> Instances { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Int32> |
Location
The Azure location where the Linux Virtual Machine Scale Set should exist. Changing this forces a new resource to be created.
Declaration
public Output<string> Location { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
MaxBidPrice
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.
Declaration
public Output<double?> MaxBidPrice { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Double>> |
Name
The name of the Linux Virtual Machine Scale Set. Changing this forces a new resource to be created.
Declaration
public Output<string> Name { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
NetworkInterfaces
One or more network_interface blocks as defined below.
Declaration
public Output<ImmutableArray<LinuxVirtualMachineScaleSetNetworkInterface>> NetworkInterfaces { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<LinuxVirtualMachineScaleSetNetworkInterface>> |
OsDisk
An os_disk block as defined below.
Declaration
public Output<LinuxVirtualMachineScaleSetOsDisk> OsDisk { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetOsDisk> |
Overprovision
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 false.
Declaration
public Output<bool?> Overprovision { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
Plan
Declaration
public Output<LinuxVirtualMachineScaleSetPlan> Plan { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetPlan> |
Priority
The Priority of this Virtual Machine Scale Set. Possible values are Regular and Spot. Defaults to Regular. Changing this value forces a new resource.
Declaration
public Output<string> Priority { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ProvisionVmAgent
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.
Declaration
public Output<bool?> ProvisionVmAgent { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
ProximityPlacementGroupId
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.
Declaration
public Output<string> ProximityPlacementGroupId { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ResourceGroupName
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.
Declaration
public Output<string> ResourceGroupName { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
RollingUpgradePolicy
A rolling_upgrade_policy block as defined below. This is Required and can only be specified when upgrade_mode is set to Automatic or Rolling.
Declaration
public Output<LinuxVirtualMachineScaleSetRollingUpgradePolicy> RollingUpgradePolicy { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetRollingUpgradePolicy> |
ScaleInPolicy
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 and OldestVM, defaults to Default. For more information about scale in policy, please refer to this doc.
Declaration
public Output<string> ScaleInPolicy { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Secrets
One or more secret blocks as defined below.
Declaration
public Output<ImmutableArray<LinuxVirtualMachineScaleSetSecret>> Secrets { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<LinuxVirtualMachineScaleSetSecret>> |
SinglePlacementGroup
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.
Declaration
public Output<bool?> SinglePlacementGroup { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
Sku
The Virtual Machine SKU for the Scale Set, such as Standard_F2.
Declaration
public Output<string> Sku { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
SourceImageId
The ID of an Image which each Virtual Machine in this Scale Set should be based on.
Declaration
public Output<string> SourceImageId { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
SourceImageReference
A source_image_reference block as defined below.
Declaration
public Output<LinuxVirtualMachineScaleSetSourceImageReference> SourceImageReference { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetSourceImageReference> |
Tags
A mapping of tags which should be assigned to this Virtual Machine Scale Set.
Declaration
public Output<ImmutableDictionary<string, string>> Tags { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableDictionary<System.String, System.String>> |
TerminateNotification
A terminate_notification block as defined below.
Declaration
public Output<LinuxVirtualMachineScaleSetTerminateNotification> TerminateNotification { get; }
Property Value
| Type | Description |
|---|---|
| Output<LinuxVirtualMachineScaleSetTerminateNotification> |
UniqueId
The Unique ID for this Linux Virtual Machine Scale Set.
Declaration
public Output<string> UniqueId { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
UpgradeMode
Specifies how Upgrades (e.g. changing the Image/SKU) should be performed to Virtual Machine Instances. Possible values are Automatic, Manual and Rolling. Defaults to Manual.
Declaration
public Output<string> UpgradeMode { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ZoneBalance
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.
Declaration
public Output<bool?> ZoneBalance { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
Zones
A list of Availability Zones in which the Virtual Machines in this Scale Set should be created in. Changing this forces a new resource to be created.
Declaration
public Output<ImmutableArray<string>> Zones { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
Methods
View SourceGet(String, Input<String>, LinuxVirtualMachineScaleSetState, CustomResourceOptions)
Get an existing LinuxVirtualMachineScaleSet resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
Declaration
public static LinuxVirtualMachineScaleSet Get(string name, Input<string> id, LinuxVirtualMachineScaleSetState state = null, CustomResourceOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The unique name of the resulting resource. |
| Input<System.String> | id | The unique provider ID of the resource to lookup. |
| LinuxVirtualMachineScaleSetState | state | Any extra arguments used during the lookup. |
| CustomResourceOptions | options | A bag of options that control this resource's behavior |
Returns
| Type | Description |
|---|---|
| LinuxVirtualMachineScaleSet |