Microsoft.Compute availabilitySets
Bicep resource definition
The availabilitySets resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Compute/availabilitySets resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Compute/availabilitySets@2024-07-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
sku: {
capacity: int
name: 'string'
tier: 'string'
}
properties: {
platformFaultDomainCount: int
platformUpdateDomainCount: int
proximityPlacementGroup: {
id: 'string'
}
scheduledEventsPolicy: {
scheduledEventsAdditionalPublishingTargets: {
eventGridAndResourceGraph: {
enable: bool
}
}
userInitiatedReboot: {
automaticallyApprove: bool
}
userInitiatedRedeploy: {
automaticallyApprove: bool
}
}
virtualMachines: [
{
id: 'string'
}
]
}
}
Property values
availabilitySets
Name | Description | Value |
---|---|---|
name | The resource name | string (required) Character limit: 1-80 Valid characters: Alphanumerics, underscores, periods, and hyphens. Start with alphanumeric. End with alphanumeric or underscore. |
location | Resource location | string (required) |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
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'. | Sku |
properties | The instance view of a resource. | AvailabilitySetProperties |
AvailabilitySetProperties
Name | Description | Value |
---|---|---|
platformFaultDomainCount | Fault Domain count. | int |
platformUpdateDomainCount | Update Domain count. | int |
proximityPlacementGroup | Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. | SubResource |
scheduledEventsPolicy | Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the availability set. | ScheduledEventsPolicy |
virtualMachines | A list of references to all virtual machines in the availability set. | SubResource[] |
SubResource
Name | Description | Value |
---|---|---|
id | Resource Id | string |
ScheduledEventsPolicy
Name | Description | Value |
---|---|---|
scheduledEventsAdditionalPublishingTargets | The configuration parameters used while publishing scheduledEventsAdditionalPublishingTargets. | ScheduledEventsAdditionalPublishingTargets |
userInitiatedReboot | The configuration parameters used while creating userInitiatedReboot scheduled event setting creation. | UserInitiatedReboot |
userInitiatedRedeploy | The configuration parameters used while creating userInitiatedRedeploy scheduled event setting creation. | UserInitiatedRedeploy |
ScheduledEventsAdditionalPublishingTargets
Name | Description | Value |
---|---|---|
eventGridAndResourceGraph | The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event setting. | EventGridAndResourceGraph |
EventGridAndResourceGraph
Name | Description | Value |
---|---|---|
enable | Specifies if event grid and resource graph is enabled for Scheduled event related configurations. | bool |
UserInitiatedReboot
Name | Description | Value |
---|---|---|
automaticallyApprove | Specifies Reboot Scheduled Event related configurations. | bool |
UserInitiatedRedeploy
Name | Description | Value |
---|---|---|
automaticallyApprove | Specifies Redeploy Scheduled Event related configurations. | bool |
Sku
Name | Description | Value |
---|---|---|
capacity | Specifies the number of virtual machines in the scale set. | int |
name | The sku name. | string |
tier | Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic |
string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
2 VMs in VNET - Internal Load Balancer and LB rules |
This template allows you to create 2 Virtual Machines in a VNET and under an internal Load balancer and configure a load balancing rule on Port 80. This template also deploys a Storage Account, Virtual Network, Public IP address, Availability Set and Network Interfaces. |
2 VMs in a Load Balancer and load balancing rules |
This template allows you to create 2 Virtual Machines under a Load balancer and configure a load balancing rule on Port 80. This template also deploys a Storage Account, Virtual Network, Public IP address, Availability Set and Network Interfaces. In this template, we use the resource loops capability to create the network interfaces and virtual machines |
2 VMs in a Load Balancer and configure NAT rules on the LB |
This template allows you to create 2 Virtual Machines in an Availability Set and configure NAT rules through the load balancer. This template also deploys a Storage Account, Virtual Network, Public IP address and Network Interfaces. In this template, we use the resource loops capability to create the network interfaces and virtual machines |
Create an Availability Set with 3 Fault Domains |
This template creates an Availability Set with 3 Fault Domains |
Discover Private IP dynamically |
This template allows you to discover a private IP for a NIC dynamically. It passes the private IP of NIC0 to VM1 using custom script extensions which writes it to a file on VM1. |
GlassFish on SUSE |
This template deploys a load balanced GlassFish (v3 or v4) cluster, consisting of a user defined number of SUSE (OpenSUSE or SLES) VMs. |
Create VMs in Availability Sets using Resource Loops |
Create 2-5 VMs in Availability Sets using Resource Loops. The VMs can be Unbuntu or Windows with a maximum of 5 VMs since this sample uses a single storageAccount |
Multi VM Template with Managed Disk |
This template will create N number of VM's with managed disks, public IPs and network interfaces. It will create the VMs in a single Availability Set. They will be provisioned in a Virtual Network which will also be created as part of the deployment |
CentOS/UbuntuServer Auto Dynamic Disks & Docker 1.12(cs) |
This is a common template for creating single instance CentOS 7.2/7.1/6.5 or Ubuntu Server 16.04.0-LTS with configurable number of data disks (configurable sizes). Maximum 16 disks can be mentioned in the portal parameters and maximum size of each disk should be less than 1023 GB. The MDADM RAID0 Array is automounted and survives restarts. Latest Docker 1.12(cs3) (Swarm), docker-compose 1.9.0 & docker-machine 0.8.2 is available for usage from user azure-cli is auto running as a docker container. This single instance template is an offshoot of the HPC/GPU Clusters Template @https://github.com/azurebigcompute/BigComputeBench |
ARM template resource definition
The availabilitySets resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Compute/availabilitySets resource, add the following JSON to your template.
{
"type": "Microsoft.Compute/availabilitySets",
"apiVersion": "2024-07-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"sku": {
"capacity": "int",
"name": "string",
"tier": "string"
},
"properties": {
"platformFaultDomainCount": "int",
"platformUpdateDomainCount": "int",
"proximityPlacementGroup": {
"id": "string"
},
"scheduledEventsPolicy": {
"scheduledEventsAdditionalPublishingTargets": {
"eventGridAndResourceGraph": {
"enable": "bool"
}
},
"userInitiatedReboot": {
"automaticallyApprove": "bool"
},
"userInitiatedRedeploy": {
"automaticallyApprove": "bool"
}
},
"virtualMachines": [
{
"id": "string"
}
]
}
}
Property values
availabilitySets
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.Compute/availabilitySets' |
apiVersion | The resource api version | '2024-07-01' |
name | The resource name | string (required) Character limit: 1-80 Valid characters: Alphanumerics, underscores, periods, and hyphens. Start with alphanumeric. End with alphanumeric or underscore. |
location | Resource location | string (required) |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
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'. | Sku |
properties | The instance view of a resource. | AvailabilitySetProperties |
AvailabilitySetProperties
Name | Description | Value |
---|---|---|
platformFaultDomainCount | Fault Domain count. | int |
platformUpdateDomainCount | Update Domain count. | int |
proximityPlacementGroup | Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. | SubResource |
scheduledEventsPolicy | Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the availability set. | ScheduledEventsPolicy |
virtualMachines | A list of references to all virtual machines in the availability set. | SubResource[] |
SubResource
Name | Description | Value |
---|---|---|
id | Resource Id | string |
ScheduledEventsPolicy
Name | Description | Value |
---|---|---|
scheduledEventsAdditionalPublishingTargets | The configuration parameters used while publishing scheduledEventsAdditionalPublishingTargets. | ScheduledEventsAdditionalPublishingTargets |
userInitiatedReboot | The configuration parameters used while creating userInitiatedReboot scheduled event setting creation. | UserInitiatedReboot |
userInitiatedRedeploy | The configuration parameters used while creating userInitiatedRedeploy scheduled event setting creation. | UserInitiatedRedeploy |
ScheduledEventsAdditionalPublishingTargets
Name | Description | Value |
---|---|---|
eventGridAndResourceGraph | The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event setting. | EventGridAndResourceGraph |
EventGridAndResourceGraph
Name | Description | Value |
---|---|---|
enable | Specifies if event grid and resource graph is enabled for Scheduled event related configurations. | bool |
UserInitiatedReboot
Name | Description | Value |
---|---|---|
automaticallyApprove | Specifies Reboot Scheduled Event related configurations. | bool |
UserInitiatedRedeploy
Name | Description | Value |
---|---|---|
automaticallyApprove | Specifies Redeploy Scheduled Event related configurations. | bool |
Sku
Name | Description | Value |
---|---|---|
capacity | Specifies the number of virtual machines in the scale set. | int |
name | The sku name. | string |
tier | Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic |
string |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
2 VMs in VNET - Internal Load Balancer and LB rules |
This template allows you to create 2 Virtual Machines in a VNET and under an internal Load balancer and configure a load balancing rule on Port 80. This template also deploys a Storage Account, Virtual Network, Public IP address, Availability Set and Network Interfaces. |
2 VMs in a Load Balancer and load balancing rules |
This template allows you to create 2 Virtual Machines under a Load balancer and configure a load balancing rule on Port 80. This template also deploys a Storage Account, Virtual Network, Public IP address, Availability Set and Network Interfaces. In this template, we use the resource loops capability to create the network interfaces and virtual machines |
2 VMs in a Load Balancer and configure NAT rules on the LB |
This template allows you to create 2 Virtual Machines in an Availability Set and configure NAT rules through the load balancer. This template also deploys a Storage Account, Virtual Network, Public IP address and Network Interfaces. In this template, we use the resource loops capability to create the network interfaces and virtual machines |
Create an Availability Set with 3 Fault Domains |
This template creates an Availability Set with 3 Fault Domains |
Discover Private IP dynamically |
This template allows you to discover a private IP for a NIC dynamically. It passes the private IP of NIC0 to VM1 using custom script extensions which writes it to a file on VM1. |
GlassFish on SUSE |
This template deploys a load balanced GlassFish (v3 or v4) cluster, consisting of a user defined number of SUSE (OpenSUSE or SLES) VMs. |
Create VMs in Availability Sets using Resource Loops |
Create 2-5 VMs in Availability Sets using Resource Loops. The VMs can be Unbuntu or Windows with a maximum of 5 VMs since this sample uses a single storageAccount |
Multi VM Template with Managed Disk |
This template will create N number of VM's with managed disks, public IPs and network interfaces. It will create the VMs in a single Availability Set. They will be provisioned in a Virtual Network which will also be created as part of the deployment |
CentOS/UbuntuServer Auto Dynamic Disks & Docker 1.12(cs) |
This is a common template for creating single instance CentOS 7.2/7.1/6.5 or Ubuntu Server 16.04.0-LTS with configurable number of data disks (configurable sizes). Maximum 16 disks can be mentioned in the portal parameters and maximum size of each disk should be less than 1023 GB. The MDADM RAID0 Array is automounted and survives restarts. Latest Docker 1.12(cs3) (Swarm), docker-compose 1.9.0 & docker-machine 0.8.2 is available for usage from user azure-cli is auto running as a docker container. This single instance template is an offshoot of the HPC/GPU Clusters Template @https://github.com/azurebigcompute/BigComputeBench |
Terraform (AzAPI provider) resource definition
The availabilitySets resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Compute/availabilitySets resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Compute/availabilitySets@2024-07-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
platformFaultDomainCount = int
platformUpdateDomainCount = int
proximityPlacementGroup = {
id = "string"
}
scheduledEventsPolicy = {
scheduledEventsAdditionalPublishingTargets = {
eventGridAndResourceGraph = {
enable = bool
}
}
userInitiatedReboot = {
automaticallyApprove = bool
}
userInitiatedRedeploy = {
automaticallyApprove = bool
}
}
virtualMachines = [
{
id = "string"
}
]
}
sku = {
capacity = int
name = "string"
tier = "string"
}
})
}
Property values
availabilitySets
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.Compute/availabilitySets@2024-07-01" |
name | The resource name | string (required) Character limit: 1-80 Valid characters: Alphanumerics, underscores, periods, and hyphens. Start with alphanumeric. End with alphanumeric or underscore. |
location | Resource location | string (required) |
parent_id | To deploy to a resource group, use the ID of that resource group. | string (required) |
tags | Resource tags | Dictionary of tag names and values. |
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'. | Sku |
properties | The instance view of a resource. | AvailabilitySetProperties |
AvailabilitySetProperties
Name | Description | Value |
---|---|---|
platformFaultDomainCount | Fault Domain count. | int |
platformUpdateDomainCount | Update Domain count. | int |
proximityPlacementGroup | Specifies information about the proximity placement group that the availability set should be assigned to. Minimum api-version: 2018-04-01. | SubResource |
scheduledEventsPolicy | Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations for the availability set. | ScheduledEventsPolicy |
virtualMachines | A list of references to all virtual machines in the availability set. | SubResource[] |
SubResource
Name | Description | Value |
---|---|---|
id | Resource Id | string |
ScheduledEventsPolicy
Name | Description | Value |
---|---|---|
scheduledEventsAdditionalPublishingTargets | The configuration parameters used while publishing scheduledEventsAdditionalPublishingTargets. | ScheduledEventsAdditionalPublishingTargets |
userInitiatedReboot | The configuration parameters used while creating userInitiatedReboot scheduled event setting creation. | UserInitiatedReboot |
userInitiatedRedeploy | The configuration parameters used while creating userInitiatedRedeploy scheduled event setting creation. | UserInitiatedRedeploy |
ScheduledEventsAdditionalPublishingTargets
Name | Description | Value |
---|---|---|
eventGridAndResourceGraph | The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event setting. | EventGridAndResourceGraph |
EventGridAndResourceGraph
Name | Description | Value |
---|---|---|
enable | Specifies if event grid and resource graph is enabled for Scheduled event related configurations. | bool |
UserInitiatedReboot
Name | Description | Value |
---|---|---|
automaticallyApprove | Specifies Reboot Scheduled Event related configurations. | bool |
UserInitiatedRedeploy
Name | Description | Value |
---|---|---|
automaticallyApprove | Specifies Redeploy Scheduled Event related configurations. | bool |
Sku
Name | Description | Value |
---|---|---|
capacity | Specifies the number of virtual machines in the scale set. | int |
name | The sku name. | string |
tier | Specifies the tier of virtual machines in a scale set. Possible Values: Standard Basic |
string |