update based on changes suggested by @adefwebserver

This commit is contained in:
sbwalker 2025-03-06 15:25:25 -05:00
parent 5b4db0de3b
commit ba1bfd1bc0

View File

@ -1,6 +1,6 @@
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.1",
"contentVersion": "1.0.0.2",
"parameters": {
"sqlDatabaseEditionTierDtuCapacity": {
"type": "string",
@ -38,19 +38,19 @@
"sqlDatabaseName": {
"type": "string",
"metadata": {
"description": "The name of the sql databaseName. It has to be unique."
"description": "The name of the sql database. It has to be unique."
}
},
"sqlAdministratorLogin": {
"type": "string",
"metadata": {
"description": "The admin user of the SQL Server"
"description": "The admin user of the SQL Server."
}
},
"sqlAdministratorLoginPassword": {
"type": "securestring",
"metadata": {
"description": "The password of the admin user of the SQL Server"
"description": "The password of the admin user of the SQL Server."
}
},
"BlazorWebsiteName": {
@ -75,7 +75,10 @@
"P3",
"P4"
],
"defaultValue": "B1"
"defaultValue": "B1",
"metadata": {
"description": "The SKU for the App Service Plan"
}
},
"BlazorSKUCapacity": {
"type": "int",
@ -107,9 +110,12 @@
]
},
"resources": [
// ------------------------------------------------------
// SQL Server
// ------------------------------------------------------
{
"type": "Microsoft.Sql/servers",
"apiVersion": "2021-11-01",
"apiVersion": "2022-05-01-preview", // Updated API version
"name": "[parameters('sqlServerName')]",
"location": "[parameters('location')]",
"tags": {
@ -121,9 +127,12 @@
"version": "12.0"
}
},
// ------------------------------------------------------
// SQL Database (separate resource rather than subresource)
// ------------------------------------------------------
{
"type": "Microsoft.Sql/servers/databases",
"apiVersion": "2021-11-01",
"apiVersion": "2022-05-01-preview", // Updated API version
"name": "[format('{0}/{1}', parameters('sqlServerName'), parameters('sqlDatabaseName'))]",
"location": "[parameters('location')]",
"tags": {
@ -140,16 +149,32 @@
"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'))]"
"[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
]
},
// ------------------------------------------------------
// Transparent Data Encryption child resource
// ------------------------------------------------------
{
"type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
"apiVersion": "2021-02-01-preview",
"name": "[format('{0}/{1}/current', parameters('sqlServerName'), parameters('sqlDatabaseName'))]",
"properties": {
"state": "Enabled"
},
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/databases', parameters('sqlServerName'), parameters('sqlDatabaseName'))]"
]
},
// ------------------------------------------------------
// Firewall Rule (renamed to 'AllowAllMicrosoftAzureIps')
// ------------------------------------------------------
{
"type": "Microsoft.Sql/servers/firewallRules",
"apiVersion": "2021-11-01",
"name": "[format('{0}/{1}', parameters('sqlServerName'), 'AllowAllWindowsAzureIps')]",
"apiVersion": "2022-05-01-preview", // Updated API version
"name": "[format('{0}/{1}', parameters('sqlServerName'), 'AllowAllMicrosoftAzureIps')]",
"properties": {
"endIpAddress": "0.0.0.0",
"startIpAddress": "0.0.0.0"
@ -158,26 +183,33 @@
"[resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))]"
]
},
// ------------------------------------------------------
// App Service Plan
// ------------------------------------------------------
{
"name": "[variables('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"location": "[resourceGroup().location]",
"apiVersion": "2022-09-01",
"dependsOn": [],
"apiVersion": "2022-03-01", // Updated API version
"name": "[variables('hostingPlanName')]",
"location": "[parameters('location')]",
"tags": {
"displayName": "Blazor"
},
"sku": {
"name": "[parameters('BlazorSKU')]",
// If you want to auto-map to certain "tier" strings, you can do so. Here we just set the capacity:
"capacity": "[parameters('BlazorSKUCapacity')]"
},
"properties": {
"name": "[variables('hostingPlanName')]",
"numberOfWorkers": 1
}
},
"dependsOn": []
},
// ------------------------------------------------------
// Web App
// ------------------------------------------------------
{
"apiVersion": "2018-02-01",
"apiVersion": "2022-03-01", // Updated API version
"name": "[parameters('BlazorWebsiteName')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
@ -189,27 +221,46 @@
"displayName": "Website"
},
"properties": {
"name": "[parameters('BlazorWebsiteName')]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]",
"siteConfig": {
"webSocketsEnabled": true,
"netFrameworkVersion": "v5.0"
// Updated .NET version "v9.0" from second snippet
"netFrameworkVersion": "v9.0"
}
},
"resources": [
// --------------------------------------------------
// Source Control for your Web App
// --------------------------------------------------
{
"type": "sourcecontrols",
"apiVersion": "2018-02-01",
"apiVersion": "2022-03-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",
"repoUrl": "https://github.com/oqtane/oqtane.framework.git",
"branch": "master",
"IsManualIntegration": true
"isManualIntegration": true
}
},
// --------------------------------------------------
// Connection Strings (to use FQDN)
// --------------------------------------------------
{
"type": "config",
"apiVersion": "2022-03-01",
"name": "connectionstrings",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('BlazorWebsiteName'))]"
],
"properties": {
"DefaultConnection": {
"value": "[concat('Data Source=tcp:', reference(resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))).fullyQualifiedDomainName, ',1433;Initial Catalog=', parameters('sqlDatabaseName'), ';User Id=', parameters('sqlAdministratorLogin'), '@', reference(resourceId('Microsoft.Sql/servers', parameters('sqlServerName'))).fullyQualifiedDomainName, ';Password=', parameters('sqlAdministratorLoginPassword'), ';')]",
"type": "SQLAzure"
}
}
}
]