In ARM template for Azure Web App, how do you specify the stack settings for the app (.NET, .NET Core, PHP, ...)? I cannot see any field for it.
Thank you
When you create azure webapp on portal, choose Running stack
as .Net Core 3.0(Current)
.
Then click Review+Create
> Download a template for automation
. You will see the ARM template which contain metadata
attribute and the current stack value is dotnetcore
.
{
"apiVersion": "2018-02-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[parameters('currentStack')]"
}
]
},
// redacted some values
}
}
Adding to Joey's answer, the value for CURRENT_STACK for .NET Core would be dotnetcore
.
{
"type": "Microsoft.Web/sites",
"apiVersion": "2018-11-01",
"name": "<name>",
"location": "[resourceGroup().location]",
"kind": "app",
"properties": {
"enabled": true,
"siteConfig": {
"metadata": [
{
"name": "CURRENT_STACK",
"value": "dotnetcore"
}
]
}
}
}
As a small note: This proposed solution does only work for NEW WebApps... if you want to CHANGE an existing WebApp from .Net4.x to .NetCore you also must clear "netFrameworkVersion". Otherwise the stack is not changed.
So correct would be:
{
"apiVersion": "2018-02-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [],
"netFrameworkVersion": "",
"metadata": [
{
"name": "CURRENT_STACK",
"value": "dotnetcore"
}
]
},
// redacted some values
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With