
1. removed depends on connection strings 2. Moved sku outside properties for type Microsoft.Web/serverfarms and added various app plans 3. Removed worker size and replaced with instance capacity 4. Replaced database and sqlserver to use various editions 5. Updated ApiVersions for various types
218 lines
7.1 KiB
JSON
218 lines
7.1 KiB
JSON
{
|
|
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
|
|
"contentVersion": "1.0.0.1",
|
|
"parameters": {
|
|
"sqlDatabaseEditionTierDtuCapacity": {
|
|
"type": "string",
|
|
"defaultValue": "Standard-S1-20-250",
|
|
"allowedValues": [
|
|
"Basic-Basic-5-2",
|
|
"Standard-S0-10-250",
|
|
"Standard-S1-20-250",
|
|
"Standard-S2-50-250",
|
|
"Standard-S3-100-250",
|
|
"Standard-S4-200-250",
|
|
"Standard-S6-400-250",
|
|
"Standard-S7-800-250",
|
|
"Standard-S9-1600-250",
|
|
"Standard-S12-3000-250",
|
|
"Premium-P1-125-500",
|
|
"Premium-P2-250-500",
|
|
"Premium-P4-500-500" ,
|
|
"Premium-P6-1000-500",
|
|
"Premium-P11-1750-500-1024",
|
|
"Premium-P15-4000-1024",
|
|
"GeneralPurpose-GP_Gen5_2-2-250",
|
|
"GeneralPurpose-GP_S_Gen5_2-2-250"
|
|
],
|
|
"metadata": {
|
|
"description": "Describes the database Edition, Tier, Dtu, Gigabytes (Edition-Tier-Dtu-Gigabytes)"
|
|
}
|
|
},
|
|
"sqlServerName": {
|
|
"type": "string",
|
|
"metadata": {
|
|
"description": "The name of the sql server. It has to be unique."
|
|
}
|
|
},
|
|
"sqlDatabaseName": {
|
|
"type": "string",
|
|
"metadata": {
|
|
"description": "The name of the sql databaseName. It has to be unique."
|
|
}
|
|
},
|
|
"sqlAdministratorLogin": {
|
|
"type": "string",
|
|
"metadata": {
|
|
"description": "The admin user of the SQL Server"
|
|
}
|
|
},
|
|
"sqlAdministratorLoginPassword": {
|
|
"type": "securestring",
|
|
"metadata": {
|
|
"description": "The password of the admin user of the SQL Server"
|
|
}
|
|
},
|
|
"BlazorWebsiteName": {
|
|
"type": "string",
|
|
"metadata": {
|
|
"description": "The name of the website. It has to be unique."
|
|
}
|
|
},
|
|
"BlazorSKU": {
|
|
"type": "string",
|
|
"allowedValues": [
|
|
"F1",
|
|
"D1",
|
|
"B1",
|
|
"B2",
|
|
"B3",
|
|
"S1",
|
|
"S2",
|
|
"S3",
|
|
"P1",
|
|
"P2",
|
|
"P3",
|
|
"P4"
|
|
],
|
|
"defaultValue": "B1"
|
|
},
|
|
"BlazorSKUCapacity": {
|
|
"type": "int",
|
|
"defaultValue": 1,
|
|
"maxValue": 3,
|
|
"minValue": 1,
|
|
"metadata": {
|
|
"description": "Describes plan's instance count"
|
|
}
|
|
},
|
|
"location": {
|
|
"type": "string",
|
|
"defaultValue": "[resourceGroup().location]",
|
|
"metadata": {
|
|
"description": "Location for all resources."
|
|
}
|
|
}
|
|
},
|
|
"variables": {
|
|
"hostingPlanName": "[concat('Oqtane-hostingplan-', uniqueString(resourceGroup().id))]",
|
|
"databaseCollation": "SQL_Latin1_General_CP1_CI_AS",
|
|
"databaseEditionTierDtuCapacity": "[split(parameters('sqlDatabaseEditionTierDtuCapacity'),'-')]",
|
|
"databaseEdition": "[variables('databaseEditionTierDtuCapacity')[0]]",
|
|
"databaseTier": "[variables('databaseEditionTierDtuCapacity')[1]]",
|
|
"databaseDtu": "[if(greater(length(variables('databaseEditionTierDtuCapacity')), 2), variables('databaseEditionTierDtuCapacity')[2], '')]",
|
|
"databaseMaxSizeGigaBytes":"[if(greater(length(variables('databaseEditionTierDtuCapacity')), 3), variables('databaseEditionTierDtuCapacity')[3], '')]",
|
|
"databaseServerlessTiers": [
|
|
"GP_S_Gen5_2"
|
|
]
|
|
},
|
|
"resources": [
|
|
{
|
|
"type": "Microsoft.Sql/servers",
|
|
"apiVersion": "2021-11-01",
|
|
"name": "[parameters('sqlServerName')]",
|
|
"location": "[parameters('location')]",
|
|
"tags": {
|
|
"displayName": "SQL Server"
|
|
},
|
|
"properties": {
|
|
"administratorLogin": "[parameters('sqlAdministratorLogin')]",
|
|
"administratorLoginPassword": "[parameters('sqlAdministratorLoginPassword')]",
|
|
"version": "12.0"
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.Sql/servers/databases",
|
|
"apiVersion": "2021-11-01",
|
|
"name": "[format('{0}/{1}', parameters('sqlServerName'), parameters('sqlDatabaseName'))]",
|
|
"location": "[parameters('location')]",
|
|
"tags": {
|
|
"displayName": "Database"
|
|
},
|
|
"sku": {
|
|
"name": "[if(equals(variables('databaseEdition'), 'GeneralPurpose'), variables('databaseTier'), variables('databaseEdition'))]",
|
|
"tier": "[variables('databaseEdition')]",
|
|
"capacity": "[if(equals(variables('databaseDtu'), ''), json('null'), int(variables('databaseDtu')))]"
|
|
},
|
|
"kind": "[concat('v12.0,user,vcore',if(contains(variables('databaseServerlessTiers'),variables('databaseTier')),',serverless',''))]",
|
|
"properties": {
|
|
"edition": "[variables('databaseEdition')]",
|
|
"collation": "[variables('databaseCollation')]",
|
|
"maxSizeBytes": "[if(equals(variables('databaseMaxSizeGigaBytes'), ''), json('null'), mul(mul(mul(int(variables('databaseMaxSizeGigaBytes')),1024),1024),1024))]",
|
|
"requestedServiceObjectiveName": "[variables('databaseTier')]"
|
|
|
|
},
|
|
"dependsOn": [
|
|
"[resourceId('Microsoft.Sql/servers', parameters('sqlserverName'))]"
|
|
]
|
|
},
|
|
{
|
|
"type": "Microsoft.Sql/servers/firewallRules",
|
|
"apiVersion": "2021-11-01",
|
|
"name": "[format('{0}/{1}', parameters('sqlServerName'), 'AllowAllWindowsAzureIps')]",
|
|
"properties": {
|
|
"endIpAddress": "0.0.0.0",
|
|
"startIpAddress": "0.0.0.0"
|
|
},
|
|
"dependsOn": [
|
|
"[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
|
|
]
|
|
},
|
|
{
|
|
"name": "[variables('hostingPlanName')]",
|
|
"type": "Microsoft.Web/serverfarms",
|
|
"location": "[resourceGroup().location]",
|
|
"apiVersion": "2022-09-01",
|
|
"dependsOn": [],
|
|
"tags": {
|
|
"displayName": "Blazor"
|
|
},
|
|
"sku": {
|
|
"name": "[parameters('BlazorSKU')]",
|
|
"capacity": "[parameters('BlazorSKUCapacity')]"
|
|
},
|
|
"properties": {
|
|
"name": "[variables('hostingPlanName')]",
|
|
"numberOfWorkers": 1
|
|
}
|
|
},
|
|
{
|
|
"apiVersion": "2018-02-01",
|
|
"name": "[parameters('BlazorWebsiteName')]",
|
|
"type": "Microsoft.Web/sites",
|
|
"location": "[parameters('location')]",
|
|
"dependsOn": [
|
|
"[variables('hostingPlanName')]"
|
|
],
|
|
"tags": {
|
|
"[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName')))]": "empty",
|
|
"displayName": "Website"
|
|
},
|
|
"properties": {
|
|
"name": "[parameters('BlazorWebsiteName')]",
|
|
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]",
|
|
"siteConfig": {
|
|
"webSocketsEnabled": true,
|
|
"netFrameworkVersion": "v5.0"
|
|
}
|
|
},
|
|
"resources": [
|
|
{
|
|
"type": "sourcecontrols",
|
|
"apiVersion": "2018-02-01",
|
|
"name": "web",
|
|
"location": "[parameters('location')]",
|
|
"dependsOn": [
|
|
"[resourceId('Microsoft.Web/sites', parameters('BlazorWebsiteName'))]"
|
|
//"[resourceId('Microsoft.Web/Sites/config', parameters('BlazorWebsiteName'), 'connectionstrings')]"
|
|
],
|
|
"properties": {
|
|
"RepoUrl": "https://github.com/oqtane/oqtane.framework.git",
|
|
"branch": "master",
|
|
"IsManualIntegration": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |