azure-native.compute.AvailabilitySet
Explore with Pulumi AI
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 Availability sets overview. For more information on Azure planned maintenance, see Maintenance and updates for Virtual Machines in Azure. Currently, a VM can only be added to an availability set at creation time. An existing VM cannot be added to an availability set. Azure REST API version: 2023-03-01. Prior API version in Azure Native 1.x: 2020-12-01.
Other available API versions: 2023-07-01, 2023-09-01, 2024-03-01, 2024-07-01.
Example Usage
Create an availability set.
using System.Collections.Generic;
using System.Linq;
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/compute/v2"
	"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 * 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",
});
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")
resources:
  availabilitySet:
    type: azure-native:compute:AvailabilitySet
    properties:
      availabilitySetName: myAvailabilitySet
      location: westus
      platformFaultDomainCount: 2
      platformUpdateDomainCount: 20
      resourceGroupName: myResourceGroup
Create AvailabilitySet Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new AvailabilitySet(name: string, args: AvailabilitySetArgs, opts?: CustomResourceOptions);@overload
def AvailabilitySet(resource_name: str,
                    args: AvailabilitySetArgs,
                    opts: Optional[ResourceOptions] = None)
@overload
def AvailabilitySet(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    resource_group_name: Optional[str] = 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,
                    sku: Optional[SkuArgs] = None,
                    tags: Optional[Mapping[str, str]] = None,
                    virtual_machines: Optional[Sequence[SubResourceArgs]] = 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.
Parameters
- 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.
Constructor example
The following reference example uses placeholder values for all input properties.
var availabilitySetResource = new AzureNative.Compute.AvailabilitySet("availabilitySetResource", new()
{
    ResourceGroupName = "string",
    AvailabilitySetName = "string",
    Location = "string",
    PlatformFaultDomainCount = 0,
    PlatformUpdateDomainCount = 0,
    ProximityPlacementGroup = new AzureNative.Compute.Inputs.SubResourceArgs
    {
        Id = "string",
    },
    Sku = new AzureNative.Compute.Inputs.SkuArgs
    {
        Capacity = 0,
        Name = "string",
        Tier = "string",
    },
    Tags = 
    {
        { "string", "string" },
    },
    VirtualMachines = new[]
    {
        new AzureNative.Compute.Inputs.SubResourceArgs
        {
            Id = "string",
        },
    },
});
example, err := compute.NewAvailabilitySet(ctx, "availabilitySetResource", &compute.AvailabilitySetArgs{
	ResourceGroupName:         pulumi.String("string"),
	AvailabilitySetName:       pulumi.String("string"),
	Location:                  pulumi.String("string"),
	PlatformFaultDomainCount:  pulumi.Int(0),
	PlatformUpdateDomainCount: pulumi.Int(0),
	ProximityPlacementGroup: &compute.SubResourceArgs{
		Id: pulumi.String("string"),
	},
	Sku: &compute.SkuArgs{
		Capacity: pulumi.Float64(0),
		Name:     pulumi.String("string"),
		Tier:     pulumi.String("string"),
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	VirtualMachines: compute.SubResourceArray{
		&compute.SubResourceArgs{
			Id: pulumi.String("string"),
		},
	},
})
var availabilitySetResource = new AvailabilitySet("availabilitySetResource", AvailabilitySetArgs.builder()
    .resourceGroupName("string")
    .availabilitySetName("string")
    .location("string")
    .platformFaultDomainCount(0)
    .platformUpdateDomainCount(0)
    .proximityPlacementGroup(SubResourceArgs.builder()
        .id("string")
        .build())
    .sku(SkuArgs.builder()
        .capacity(0)
        .name("string")
        .tier("string")
        .build())
    .tags(Map.of("string", "string"))
    .virtualMachines(SubResourceArgs.builder()
        .id("string")
        .build())
    .build());
availability_set_resource = azure_native.compute.AvailabilitySet("availabilitySetResource",
    resource_group_name="string",
    availability_set_name="string",
    location="string",
    platform_fault_domain_count=0,
    platform_update_domain_count=0,
    proximity_placement_group={
        "id": "string",
    },
    sku={
        "capacity": 0,
        "name": "string",
        "tier": "string",
    },
    tags={
        "string": "string",
    },
    virtual_machines=[{
        "id": "string",
    }])
const availabilitySetResource = new azure_native.compute.AvailabilitySet("availabilitySetResource", {
    resourceGroupName: "string",
    availabilitySetName: "string",
    location: "string",
    platformFaultDomainCount: 0,
    platformUpdateDomainCount: 0,
    proximityPlacementGroup: {
        id: "string",
    },
    sku: {
        capacity: 0,
        name: "string",
        tier: "string",
    },
    tags: {
        string: "string",
    },
    virtualMachines: [{
        id: "string",
    }],
});
type: azure-native:compute:AvailabilitySet
properties:
    availabilitySetName: string
    location: string
    platformFaultDomainCount: 0
    platformUpdateDomainCount: 0
    proximityPlacementGroup:
        id: string
    resourceGroupName: string
    sku:
        capacity: 0
        name: string
        tier: string
    tags:
        string: string
    virtualMachines:
        - id: string
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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The AvailabilitySet resource accepts the following input properties:
- ResourceGroup stringName 
- The name of the resource group.
- AvailabilitySet stringName 
- The name of the availability set.
- Location string
- Resource location
- PlatformFault intDomain Count 
- Fault Domain count.
- PlatformUpdate intDomain Count 
- Update Domain count.
- ProximityPlacement Pulumi.Group Azure Native. Compute. Inputs. Sub Resource 
- Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01.
- Sku
Pulumi.Azure Native. Compute. Inputs. Sku 
- 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'.
- Dictionary<string, string>
- Resource tags
- VirtualMachines List<Pulumi.Azure Native. Compute. Inputs. Sub Resource> 
- A list of references to all virtual machines in the availability set.
- ResourceGroup stringName 
- The name of the resource group.
- AvailabilitySet stringName 
- The name of the availability set.
- Location string
- Resource location
- PlatformFault intDomain Count 
- Fault Domain count.
- PlatformUpdate intDomain Count 
- Update Domain count.
- ProximityPlacement SubGroup Resource Args 
- 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'.
- map[string]string
- Resource tags
- VirtualMachines []SubResource Args 
- A list of references to all virtual machines in the availability set.
- resourceGroup StringName 
- The name of the resource group.
- availabilitySet StringName 
- The name of the availability set.
- location String
- Resource location
- platformFault IntegerDomain Count 
- Fault Domain count.
- platformUpdate IntegerDomain Count 
- Update Domain count.
- proximityPlacement SubGroup Resource 
- Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01.
- sku Sku
- 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'.
- Map<String,String>
- Resource tags
- virtualMachines List<SubResource> 
- A list of references to all virtual machines in the availability set.
- resourceGroup stringName 
- The name of the resource group.
- availabilitySet stringName 
- The name of the availability set.
- location string
- Resource location
- platformFault numberDomain Count 
- Fault Domain count.
- platformUpdate numberDomain Count 
- Update Domain count.
- proximityPlacement SubGroup Resource 
- Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01.
- sku Sku
- 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'.
- {[key: string]: string}
- Resource tags
- virtualMachines SubResource[] 
- A list of references to all virtual machines in the availability set.
- resource_group_ strname 
- The name of the resource group.
- availability_set_ strname 
- The name of the availability set.
- location str
- Resource location
- platform_fault_ intdomain_ count 
- Fault Domain count.
- platform_update_ intdomain_ count 
- Update Domain count.
- proximity_placement_ Subgroup Resource Args 
- 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'.
- Mapping[str, str]
- Resource tags
- virtual_machines Sequence[SubResource Args] 
- A list of references to all virtual machines in the availability set.
- resourceGroup StringName 
- The name of the resource group.
- availabilitySet StringName 
- The name of the availability set.
- location String
- Resource location
- platformFault NumberDomain Count 
- Fault Domain count.
- platformUpdate NumberDomain Count 
- Update Domain count.
- proximityPlacement Property MapGroup 
- 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'.
- 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.Azure Native. Compute. Outputs. Instance View Status Response> 
- The resource status information.
- Type string
- Resource type
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Resource name
- Statuses
[]InstanceView Status Response 
- 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<InstanceView Status Response> 
- The resource status information.
- type String
- Resource type
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- Resource name
- statuses
InstanceView Status Response[] 
- 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[InstanceView Status Response] 
- 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, InstanceViewStatusResponseArgs        
- 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, SkuArgs  
SkuResponse, SkuResponseArgs    
SubResource, SubResourceArgs    
- Id string
- Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
- Id string
- Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
- id String
- Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
- id string
- Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
- id str
- Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
- id String
- Sub-resource ID. Both absolute resource ID and a relative resource ID are accepted. An absolute ID starts with /subscriptions/ and contains the entire ID of the parent resource and the ID of the sub-resource in the end. A relative ID replaces the ID of the parent resource with a token '$self', followed by the sub-resource ID itself. Example of a relative ID: $self/frontEndConfigurations/my-frontend.
SubResourceResponse, SubResourceResponseArgs      
- 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/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName} 
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Native pulumi/pulumi-azure-native
- License
- Apache-2.0