Templates/AvailabilitySet.json

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "asetName": {
      "type": "string",
      "defaultValue": "aset%UID%",
      "metadata": {
        "description": "The name of the availability set."
      }
    },
    "asetLocation": {
      "type": "string",
      "defaultValue": "%LOCATION%",
      "metadata": {
        "description": "Availability Set Location."
      }
    },
    "asetFaultDomain": {
      "type": "int",
      "defaultValue": 2,
      "metadata": {
        "description": "The number of fault domains."
      }
    },
    "asetUpdateDomain": {
      "type": "int",
      "defaultValue": 5,
      "metadata": {
        "description": "The number of update domains."
      }
    },
    "asetTags": {
      "type": "object",
      "defaultValue": {
        "Date": "%DATE%"
      },
      "metadata": {
        "description": "Availability Set Tags."
      }
    }
  },
  "variables": {
    "asetLocation": "[if(empty(parameters('asetLocation')), resourceGroup().location, parameters('asetLocation'))]"
  },
  "resources": [
    {
      "name": "[parameters('asetName')]",
      "type": "Microsoft.Compute/availabilitySets",
      "apiVersion": "2018-06-01",
      "location": "[variables('asetlocation')]",
      "tags": "[parameters('asetTags')]",
      "properties": {
        "platformFaultDomainCount": "[parameters('asetFaultDomain')]",
        "platformUpdateDomainCount": "[parameters('asetUpdateDomain')]",
        "managed": true
      }
    }
  ],
  "outputs": {}
}