Class ScaleSet
Manages a virtual machine scale set.
## Disclaimers
Note: The
azure.compute.ScaleSetresource has been superseded by theazure.compute.LinuxVirtualMachineScaleSetandazure.compute.WindowsVirtualMachineScaleSetresources. The existingazure.compute.ScaleSetresource will continue to be available throughout the 2.x releases however is in a feature-frozen state to maintain compatibility - new functionality will instead be added to theazure.compute.LinuxVirtualMachineScaleSetandazure.compute.WindowsVirtualMachineScaleSetresources.
Inherited Members
Namespace: Pulumi.Azure.Compute
Assembly: Pulumi.Azure.dll
Syntax
public class ScaleSet : CustomResource
Constructors
View SourceScaleSet(String, ScaleSetArgs, CustomResourceOptions)
Create a ScaleSet resource with the given unique name, arguments, and options.
Declaration
public ScaleSet(string name, ScaleSetArgs args, CustomResourceOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The unique name of the resource |
| ScaleSetArgs | args | The arguments used to populate this resource's properties |
| CustomResourceOptions | options | A bag of options that control this resource's behavior |
Properties
View SourceAutomaticOsUpgrade
Automatic OS patches can be applied by Azure to your scaleset. This is particularly useful when upgrade_policy_mode is set to Rolling. Defaults to false.
Declaration
public Output<bool?> AutomaticOsUpgrade { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
BootDiagnostics
A boot diagnostics profile block as referenced below.
Declaration
public Output<ScaleSetBootDiagnostics> BootDiagnostics { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetBootDiagnostics> |
EvictionPolicy
Specifies the eviction policy for Virtual Machines in this Scale Set. Possible values are Deallocate and Delete.
Declaration
public Output<string> EvictionPolicy { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Extensions
Can be specified multiple times to add extension profiles to the scale set. Each extension block supports the fields documented below.
Declaration
public Output<ImmutableArray<ScaleSetExtension>> Extensions { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<ScaleSetExtension>> |
HealthProbeId
Specifies the identifier for the load balancer health probe. Required when using Rolling as your upgrade_policy_mode.
Declaration
public Output<string> HealthProbeId { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Identity
Declaration
public Output<ScaleSetIdentity> Identity { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetIdentity> |
LicenseType
Specifies the Windows OS license type. If supplied, the only allowed values are Windows_Client and Windows_Server.
Declaration
public Output<string> LicenseType { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Location
Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
Declaration
public Output<string> Location { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Name
Specifies the name of the virtual machine scale set resource. Changing this forces a new resource to be created.
Declaration
public Output<string> Name { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
NetworkProfiles
A collection of network profile block as documented below.
Declaration
public Output<ImmutableArray<ScaleSetNetworkProfile>> NetworkProfiles { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<ScaleSetNetworkProfile>> |
OsProfile
A Virtual Machine OS Profile block as documented below.
Declaration
public Output<ScaleSetOsProfile> OsProfile { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetOsProfile> |
OsProfileLinuxConfig
A Linux config block as documented below.
Declaration
public Output<ScaleSetOsProfileLinuxConfig> OsProfileLinuxConfig { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetOsProfileLinuxConfig> |
OsProfileSecrets
A collection of Secret blocks as documented below.
Declaration
public Output<ImmutableArray<ScaleSetOsProfileSecret>> OsProfileSecrets { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<ScaleSetOsProfileSecret>> |
OsProfileWindowsConfig
A Windows config block as documented below.
Declaration
public Output<ScaleSetOsProfileWindowsConfig> OsProfileWindowsConfig { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetOsProfileWindowsConfig> |
Overprovision
Specifies whether the virtual machine scale set should be overprovisioned.
Declaration
public Output<bool?> Overprovision { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
Plan
A plan block as documented below.
Declaration
public Output<ScaleSetPlan> Plan { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetPlan> |
Priority
Specifies the priority for the Virtual Machines in the Scale Set. Defaults to Regular. Possible values are Low and Regular.
Declaration
public Output<string> Priority { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
ProximityPlacementGroupId
The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. 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 to create the virtual machine scale set. 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 only applicable when the upgrade_policy_mode is Rolling.
Declaration
public Output<ScaleSetRollingUpgradePolicy> RollingUpgradePolicy { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetRollingUpgradePolicy> |
SinglePlacementGroup
Specifies whether the scale set is limited to a single placement group with a maximum size of 100 virtual machines. If set to false, managed disks must be used. Default is true. Changing this forces a new resource to be created. See documentation for more information.
Declaration
public Output<bool?> SinglePlacementGroup { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Nullable<System.Boolean>> |
Sku
A sku block as documented below.
Declaration
public Output<ScaleSetSku> Sku { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetSku> |
StorageProfileDataDisks
A storage profile data disk block as documented below
Declaration
public Output<ImmutableArray<ScaleSetStorageProfileDataDisk>> StorageProfileDataDisks { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<ScaleSetStorageProfileDataDisk>> |
StorageProfileImageReference
A storage profile image reference block as documented below.
Declaration
public Output<ScaleSetStorageProfileImageReference> StorageProfileImageReference { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetStorageProfileImageReference> |
StorageProfileOsDisk
A storage profile os disk block as documented below
Declaration
public Output<ScaleSetStorageProfileOsDisk> StorageProfileOsDisk { get; }
Property Value
| Type | Description |
|---|---|
| Output<ScaleSetStorageProfileOsDisk> |
Tags
A mapping of tags to assign to the resource.
Declaration
public Output<ImmutableDictionary<string, string>> Tags { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableDictionary<System.String, System.String>> |
UpgradePolicyMode
Specifies the mode of an upgrade to virtual machines in the scale set. Possible values, Rolling, Manual, or Automatic. When choosing Rolling, you will need to set a health probe.
Declaration
public Output<string> UpgradePolicyMode { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.String> |
Zones
A collection of availability zones to spread the Virtual Machines over.
Declaration
public Output<ImmutableArray<string>> Zones { get; }
Property Value
| Type | Description |
|---|---|
| Output<System.Collections.Immutable.ImmutableArray<System.String>> |
Methods
View SourceGet(String, Input<String>, ScaleSetState, CustomResourceOptions)
Get an existing ScaleSet resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
Declaration
public static ScaleSet Get(string name, Input<string> id, ScaleSetState 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. |
| ScaleSetState | state | Any extra arguments used during the lookup. |
| CustomResourceOptions | options | A bag of options that control this resource's behavior |
Returns
| Type | Description |
|---|---|
| ScaleSet |