123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- {
- "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "metadata": {
- "_dependencyType": "compute.function.windows.appService"
- },
- "parameters": {
- "resourceGroupName": {
- "type": "string",
- "defaultValue": "WepResourceGrp",
- "metadata": {
- "description": "Name of the resource group for the resource. It is recommended to put resources under same resource group for better tracking."
- }
- },
- "resourceGroupLocation": {
- "type": "string",
- "defaultValue": "eastus",
- "metadata": {
- "description": "Location of the resource group. Resource groups could have different location than resources, however by default we use API versions from latest hybrid profile which support all locations for resource types we support."
- }
- },
- "resourceName": {
- "type": "string",
- "defaultValue": "mtwork",
- "metadata": {
- "description": "Name of the main resource to be created by this template."
- }
- },
- "resourceLocation": {
- "type": "string",
- "defaultValue": "[parameters('resourceGroupLocation')]",
- "metadata": {
- "description": "Location of the resource. By default use resource group's location, unless the resource provider is not supported there."
- }
- }
- },
- "resources": [
- {
- "type": "Microsoft.Resources/resourceGroups",
- "name": "[parameters('resourceGroupName')]",
- "location": "[parameters('resourceGroupLocation')]",
- "apiVersion": "2019-10-01"
- },
- {
- "type": "Microsoft.Resources/deployments",
- "name": "[concat(parameters('resourceGroupName'), 'Deployment', uniqueString(concat(parameters('resourceName'), subscription().subscriptionId)))]",
- "resourceGroup": "[parameters('resourceGroupName')]",
- "apiVersion": "2019-10-01",
- "dependsOn": [
- "[parameters('resourceGroupName')]"
- ],
- "properties": {
- "mode": "Incremental",
- "expressionEvaluationOptions": {
- "scope": "inner"
- },
- "parameters": {
- "resourceGroupName": {
- "value": "[parameters('resourceGroupName')]"
- },
- "resourceGroupLocation": {
- "value": "[parameters('resourceGroupLocation')]"
- },
- "resourceName": {
- "value": "[parameters('resourceName')]"
- },
- "resourceLocation": {
- "value": "[parameters('resourceLocation')]"
- }
- },
- "template": {
- "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "resourceGroupName": {
- "type": "string"
- },
- "resourceGroupLocation": {
- "type": "string"
- },
- "resourceName": {
- "type": "string"
- },
- "resourceLocation": {
- "type": "string"
- }
- },
- "variables": {
- "storage_name": "[toLower(concat('storage', uniqueString(concat(parameters('resourceName'), subscription().subscriptionId))))]",
- "appServicePlan_name": "[concat('Plan', uniqueString(concat(parameters('resourceName'), subscription().subscriptionId)))]",
- "storage_ResourceId": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('resourceGroupName'), '/providers/Microsoft.Storage/storageAccounts/', variables('storage_name'))]",
- "appServicePlan_ResourceId": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('resourceGroupName'), '/providers/Microsoft.Web/serverFarms/', variables('appServicePlan_name'))]",
- "function_ResourceId": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('resourceGroupName'), '/providers/Microsoft.Web/sites/', parameters('resourceName'))]"
- },
- "resources": [
- {
- "location": "[parameters('resourceLocation')]",
- "name": "[parameters('resourceName')]",
- "type": "Microsoft.Web/sites",
- "apiVersion": "2015-08-01",
- "tags": {
- "[concat('hidden-related:', variables('appServicePlan_ResourceId'))]": "empty"
- },
- "dependsOn": [
- "[variables('appServicePlan_ResourceId')]",
- "[variables('storage_ResourceId')]"
- ],
- "kind": "functionapp",
- "properties": {
- "name": "[parameters('resourceName')]",
- "kind": "functionapp",
- "httpsOnly": true,
- "reserved": false,
- "serverFarmId": "[variables('appServicePlan_ResourceId')]",
- "siteConfig": {
- "alwaysOn": true
- }
- },
- "identity": {
- "type": "SystemAssigned"
- },
- "resources": [
- {
- "name": "appsettings",
- "type": "config",
- "apiVersion": "2015-08-01",
- "dependsOn": [
- "[variables('function_ResourceId')]"
- ],
- "properties": {
- "AzureWebJobsStorage": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storage_name'), ';AccountKey=', listKeys(variables('storage_ResourceId'), '2017-10-01').keys[0].value, ';EndpointSuffix=', 'core.windows.net')]",
- "FUNCTIONS_EXTENSION_VERSION": "~3",
- "FUNCTIONS_WORKER_RUNTIME": "dotnet"
- }
- }
- ]
- },
- {
- "location": "[parameters('resourceGroupLocation')]",
- "name": "[variables('storage_name')]",
- "type": "Microsoft.Storage/storageAccounts",
- "apiVersion": "2017-10-01",
- "tags": {
- "[concat('hidden-related:', concat('/providers/Microsoft.Web/sites/', parameters('resourceName')))]": "empty"
- },
- "properties": {
- "supportsHttpsTrafficOnly": true
- },
- "sku": {
- "name": "Standard_LRS"
- },
- "kind": "Storage"
- },
- {
- "location": "[parameters('resourceGroupLocation')]",
- "name": "[variables('appServicePlan_name')]",
- "type": "Microsoft.Web/serverFarms",
- "apiVersion": "2015-08-01",
- "sku": {
- "name": "S1",
- "tier": "Standard",
- "family": "S",
- "size": "S1"
- },
- "properties": {
- "name": "[variables('appServicePlan_name')]"
- }
- }
- ]
- }
- }
- }
- ]
- }
|