Templates/Image.json

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "imageName": {
      "type": "string",
      "defaultValue": "image%UID%",
      "metadata": {
        "description": "The managed image name."
      }
    },
    "imageLocation": {
      "type": "string",
      "defaultValue": "%LOCATION%",
      "metadata": {
        "description": "Image Location."
      }
    },
    "imageOsType": {
      "type": "string",
      "defaultValue": "Windows",
      "metadata": {
        "description": "The managed OS type"
      }
    },
    "imageOsState": {
      "type": "string",
      "defaultValue": "Generalized",
      "metadata": {
        "description": "The managed image generalized state."
      }
    },
    "imageOsDiskBlobUri": {
      "type": "string",
      "defaultValue": "",
      "metadata": {
        "description": "The managed image Blob URI."
      }
    },
    "imageOsDiskCaching": {
      "type": "string",
      "defaultValue": "ReadWrite",
      "metadata": {
        "description": "The managed image OS disk caching."
      }
    },
    "imageOsAccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "metadata": {
        "description": "The managed image OS storage account type name."
      }
    },
    "imageZoneResilient": {
      "type": "bool",
      "defaultValue": false,
      "metadata": {
        "description": "The managed image zone resiliency."
      }
    },
    "imageTags": {
      "type": "object",
      "defaultValue": {
        "Date": "%DATE%"
      },
      "metadata": {
        "description": "Managed Image Tags."
      }
    }
  },
  "variables": {
    "imageLocation": "[if(empty(parameters('imageLocation')), resourceGroup().location, parameters('imageLocation'))]"
  },
  "resources": [
    {
      "apiVersion": "2018-06-01",
      "type": "Microsoft.Compute/images",
      "name": "[parameters('imageName')]",
      "location": "[variables('imageLocation')]",
      "tags": "[parameters('imageTags')]",
      "properties": {
        "storageProfile": {
          "zoneResilient": "[parameters('imageZoneResilient')]",
          "osDisk": {
            "osType": "[parameters('imageOsType')]",
            "osState": "[parameters('imageOsState')]",
            "blobUri": "[parameters('imageOsDiskBlobUri')]",
            "caching": "[parameters('imageOsDiskCaching')]",
            "storageAccountType": "[parameters('imageOsAccountType')]"
          },
          "dataDisks": []
        }
      }
    }
  ],
  "outputs": {}
}