Building on Shui...
Use the following fragment in your template:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"appServicePlanSkuName": {
"type": "string",
"allowedValues": [
//name Tier Full name
"D1", //Shared an D1 Shared
"F1", //Free an F1 Free
"B1", //Basic an B1 Basic
"B2", //Basic an B2 Basic
"B3", //Basic an B3 Basic
"S1", //Standard an S1 Standard
"S2", //Standard an S2 Standard
"S3", //Standard an S3 Standard
"P1", //Premium an P1 Premium
"P2", //Premium an P2 Premium
"P3", //Premium an P3 Premium
"P1V2", //PremiumV2 an P1V2 PremiumV2
"P2V2", //PremiumV2 an P2V2 PremiumV2
"P3V2", //PremiumV2 an P3V2 PremiumV2
"I1", //Isolated an I2 Isolated
"I2", //Isolated an I2 Isolated
"I3", //Isolated an I3 Isolated
"Y1", //Dynamic a function consumption plan
"EP1", //ElasticPremium
"EP2", //ElasticPremium
"EP3" //ElasticPremium
]
},
...
Then define Microsoft.Web/serverFarms resource:
"resources": [
{
"location": "[parameters('location')]",
"name": "[parameters('appServicePlanName')]",
"type": "Microsoft.Web/serverFarms",
"apiVersion": "2018-02-01",
"kind": "linux",
"properties": {
"name": "[parameters('appServicePlanName')]",
"reserved": true,
"targetWorkerCount": 1,
"targetWorkerSizeId": "[parameters('appServicePlanWorkerSizeId')]",
},
"sku": {
"name": "[parameters('appServicePlanSkuName')]"
}
}
...