azure-native.compute.AvailabilitySet

Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see Manage the availability of virtual machines.

For more information on Azure planned maintenance, see Planned maintenance for virtual machines in Azure

Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set. API Version: 2020-12-01.

Example Usage

Create an availability set.

using System.Collections.Generic;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var availabilitySet = new AzureNative.Compute.AvailabilitySet("availabilitySet", new()
    {
        AvailabilitySetName = "myAvailabilitySet",
        Location = "westus",
        PlatformFaultDomainCount = 2,
        PlatformUpdateDomainCount = 20,
        ResourceGroupName = "myResourceGroup",
    });

});
package main

import (
	compute "github.com/pulumi/pulumi-azure-native/sdk/go/azure/compute"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewAvailabilitySet(ctx, "availabilitySet", &compute.AvailabilitySetArgs{
			AvailabilitySetName:       pulumi.String("myAvailabilitySet"),
			Location:                  pulumi.String("westus"),
			PlatformFaultDomainCount:  pulumi.Int(2),
			PlatformUpdateDomainCount: pulumi.Int(20),
			ResourceGroupName:         pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.AvailabilitySet;
import com.pulumi.azurenative.compute.AvailabilitySetArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var availabilitySet = new AvailabilitySet("availabilitySet", AvailabilitySetArgs.builder()        
            .availabilitySetName("myAvailabilitySet")
            .location("westus")
            .platformFaultDomainCount(2)
            .platformUpdateDomainCount(20)
            .resourceGroupName("myResourceGroup")
            .build());

    }
}
import pulumi
import pulumi_azure_native as azure_native

availability_set = azure_native.compute.AvailabilitySet("availabilitySet",
    availability_set_name="myAvailabilitySet",
    location="westus",
    platform_fault_domain_count=2,
    platform_update_domain_count=20,
    resource_group_name="myResourceGroup")
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const availabilitySet = new azure_native.compute.AvailabilitySet("availabilitySet", {
    availabilitySetName: "myAvailabilitySet",
    location: "westus",
    platformFaultDomainCount: 2,
    platformUpdateDomainCount: 20,
    resourceGroupName: "myResourceGroup",
});
resources:
  availabilitySet:
    type: azure-native:compute:AvailabilitySet
    properties:
      availabilitySetName: myAvailabilitySet
      location: westus
      platformFaultDomainCount: 2
      platformUpdateDomainCount: 20
      resourceGroupName: myResourceGroup

Create AvailabilitySet Resource

new AvailabilitySet(name: string, args: AvailabilitySetArgs, opts?: CustomResourceOptions);
@overload
def AvailabilitySet(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    availability_set_name: Optional[str] = None,
                    location: Optional[str] = None,
                    platform_fault_domain_count: Optional[int] = None,
                    platform_update_domain_count: Optional[int] = None,
                    proximity_placement_group: Optional[SubResourceArgs] = None,
                    resource_group_name: Optional[str] = None,
                    sku: Optional[SkuArgs] = None,
                    tags: Optional[Mapping[str, str]] = None,
                    virtual_machines: Optional[Sequence[SubResourceArgs]] = None)
@overload
def AvailabilitySet(resource_name: str,
                    args: AvailabilitySetArgs,
                    opts: Optional[ResourceOptions] = None)
func NewAvailabilitySet(ctx *Context, name string, args AvailabilitySetArgs, opts ...ResourceOption) (*AvailabilitySet, error)
public AvailabilitySet(string name, AvailabilitySetArgs args, CustomResourceOptions? opts = null)
public AvailabilitySet(String name, AvailabilitySetArgs args)
public AvailabilitySet(String name, AvailabilitySetArgs args, CustomResourceOptions options)
type: azure-native:compute:AvailabilitySet
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args AvailabilitySetArgs
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 AvailabilitySetArgs
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 AvailabilitySetArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args AvailabilitySetArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args AvailabilitySetArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

AvailabilitySet 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 AvailabilitySet resource accepts the following input properties:

ResourceGroupName string

The name of the resource group.

AvailabilitySetName string

The name of the availability set.

Location string

Resource location

PlatformFaultDomainCount int

Fault Domain count.

PlatformUpdateDomainCount int

Update Domain count.

ProximityPlacementGroup Pulumi.AzureNative.Compute.Inputs.SubResourceArgs

Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01.

Sku Pulumi.AzureNative.Compute.Inputs.SkuArgs

Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.

Tags Dictionary<string, string>

Resource tags

VirtualMachines List<Pulumi.AzureNative.Compute.Inputs.SubResourceArgs>

A list of references to all virtual machines in the availability set.

ResourceGroupName string

The name of the resource group.

AvailabilitySetName string

The name of the availability set.

Location string

Resource location

PlatformFaultDomainCount int

Fault Domain count.

PlatformUpdateDomainCount int

Update Domain count.

ProximityPlacementGroup SubResourceArgs

Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01.

Sku SkuArgs

Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.

Tags map[string]string

Resource tags

VirtualMachines []SubResourceArgs

A list of references to all virtual machines in the availability set.

resourceGroupName String

The name of the resource group.

availabilitySetName String

The name of the availability set.

location String

Resource location

platformFaultDomainCount Integer

Fault Domain count.

platformUpdateDomainCount Integer

Update Domain count.

proximityPlacementGroup SubResourceArgs

Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01.

sku SkuArgs

Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.

tags Map<String,String>

Resource tags

virtualMachines List<SubResourceArgs>

A list of references to all virtual machines in the availability set.

resourceGroupName string

The name of the resource group.

availabilitySetName string

The name of the availability set.

location string

Resource location

platformFaultDomainCount number

Fault Domain count.

platformUpdateDomainCount number

Update Domain count.

proximityPlacementGroup SubResourceArgs

Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01.

sku SkuArgs

Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.

tags {[key: string]: string}

Resource tags

virtualMachines SubResourceArgs[]

A list of references to all virtual machines in the availability set.

resource_group_name str

The name of the resource group.

availability_set_name str

The name of the availability set.

location str

Resource location

platform_fault_domain_count int

Fault Domain count.

platform_update_domain_count int

Update Domain count.

proximity_placement_group SubResourceArgs

Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01.

sku SkuArgs

Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.

tags Mapping[str, str]

Resource tags

virtual_machines Sequence[SubResourceArgs]

A list of references to all virtual machines in the availability set.

resourceGroupName String

The name of the resource group.

availabilitySetName String

The name of the availability set.

location String

Resource location

platformFaultDomainCount Number

Fault Domain count.

platformUpdateDomainCount Number

Update Domain count.

proximityPlacementGroup Property Map

Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01.

sku Property Map

Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.

tags Map<String>

Resource tags

virtualMachines List<Property Map>

A list of references to all virtual machines in the availability set.

Outputs

All input properties are implicitly available as output properties. Additionally, the AvailabilitySet resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Name string

Resource name

Statuses List<Pulumi.AzureNative.Compute.Outputs.InstanceViewStatusResponse>

The resource status information.

Type string

Resource type

Id string

The provider-assigned unique ID for this managed resource.

Name string

Resource name

Statuses []InstanceViewStatusResponse

The resource status information.

Type string

Resource type

id String

The provider-assigned unique ID for this managed resource.

name String

Resource name

statuses List<InstanceViewStatusResponse>

The resource status information.

type String

Resource type

id string

The provider-assigned unique ID for this managed resource.

name string

Resource name

statuses InstanceViewStatusResponse[]

The resource status information.

type string

Resource type

id str

The provider-assigned unique ID for this managed resource.

name str

Resource name

statuses Sequence[InstanceViewStatusResponse]

The resource status information.

type str

Resource type

id String

The provider-assigned unique ID for this managed resource.

name String

Resource name

statuses List<Property Map>

The resource status information.

type String

Resource type

Supporting Types

InstanceViewStatusResponse

Code string

The status code.

DisplayStatus string

The short localizable label for the status.

Level string

The level code.

Message string

The detailed status message, including for alerts and error messages.

Time string

The time of the status.

Code string

The status code.

DisplayStatus string

The short localizable label for the status.

Level string

The level code.

Message string

The detailed status message, including for alerts and error messages.

Time string

The time of the status.

code String

The status code.

displayStatus String

The short localizable label for the status.

level String

The level code.

message String

The detailed status message, including for alerts and error messages.

time String

The time of the status.

code string

The status code.

displayStatus string

The short localizable label for the status.

level string

The level code.

message string

The detailed status message, including for alerts and error messages.

time string

The time of the status.

code str

The status code.

display_status str

The short localizable label for the status.

level str

The level code.

message str

The detailed status message, including for alerts and error messages.

time str

The time of the status.

code String

The status code.

displayStatus String

The short localizable label for the status.

level String

The level code.

message String

The detailed status message, including for alerts and error messages.

time String

The time of the status.

Sku

Capacity double

Specifies the number of virtual machines in the scale set.

Name string

The sku name.

Tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

Capacity float64

Specifies the number of virtual machines in the scale set.

Name string

The sku name.

Tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity Double

Specifies the number of virtual machines in the scale set.

name String

The sku name.

tier String

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity number

Specifies the number of virtual machines in the scale set.

name string

The sku name.

tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity float

Specifies the number of virtual machines in the scale set.

name str

The sku name.

tier str

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity Number

Specifies the number of virtual machines in the scale set.

name String

The sku name.

tier String

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

SkuResponse

Capacity double

Specifies the number of virtual machines in the scale set.

Name string

The sku name.

Tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

Capacity float64

Specifies the number of virtual machines in the scale set.

Name string

The sku name.

Tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity Double

Specifies the number of virtual machines in the scale set.

name String

The sku name.

tier String

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity number

Specifies the number of virtual machines in the scale set.

name string

The sku name.

tier string

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity float

Specifies the number of virtual machines in the scale set.

name str

The sku name.

tier str

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

capacity Number

Specifies the number of virtual machines in the scale set.

name String

The sku name.

tier String

Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic

SubResource

Id string

Resource Id

Id string

Resource Id

id String

Resource Id

id string

Resource Id

id str

Resource Id

id String

Resource Id

SubResourceResponse

Id string

Resource Id

Id string

Resource Id

id String

Resource Id

id string

Resource Id

id str

Resource Id

id String

Resource Id

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:compute:AvailabilitySet myAvailabilitySet /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/myAvailabilitySet 

Package Details

Repository
Azure Native pulumi/pulumi-azure-native
License
Apache-2.0