1. Packages
  2. Azure Native
  3. API Docs
  4. compute
  5. AvailabilitySet
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.73.0 published on Wednesday, Nov 20, 2024 by Pulumi

azure-native.compute.AvailabilitySet

Explore with Pulumi AI

azure-native logo
This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
Azure Native v2.73.0 published on Wednesday, Nov 20, 2024 by Pulumi

    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: 2016-04-30-preview, 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 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

    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:

    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.SubResource
    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.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'.
    Tags Dictionary<string, string>
    Resource tags
    VirtualMachines List<Pulumi.AzureNative.Compute.Inputs.SubResource>
    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 SubResource
    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'.
    tags Map<String,String>
    Resource tags
    virtualMachines List<SubResource>
    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 SubResource
    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'.
    tags {[key: string]: string}
    Resource tags
    virtualMachines SubResource[]
    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, 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

    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, SkuResponseArgs

    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, 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
    azure-native logo
    This is the latest version of Azure Native. Use the Azure Native v1 docs if using the v1 version of this package.
    Azure Native v2.73.0 published on Wednesday, Nov 20, 2024 by Pulumi