-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Labels
Description
Describe the bug
Here's the sample ARM template
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "string"
},
"resourceLocation": {
"type": "string",
"metadata": {
"description": "Location where the resource to be created"
},
"defaultValue": "[resourceGroup().location]"
},
"resourceTags": {
"type": "object",
"defaultValue": {
"Environemnt": "Dev",
"Project": "Sample"
}
}
},
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('name')]",
"apiVersion": "2020-06-01",
"location": "[parameters('resourceLocation')]",
"properties": {},
"tags": "[parameters('resourceTags')]"
}
]
}
When I run this template against the Template-Analyzer, I get the following error.
AZR-000222: Use a location parameter for regional resources
Severity: High
Recommendation: Consider updating the resource location property to use [parameters('location)].
More information: https://azure.github.io/PSRule.Rules.Azure/en/rules/Azure.Template.ResourceLocation/
Result: Failed
Line: 1
Rules passed: 0
Expected behavior
It should not report AZR-000222: Use a location parameter for regional resources.
Reproduction Steps
Create an ARM template file with the following content,
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "string"
},
"resourceLocation": {
"type": "string",
"metadata": {
"description": "Location where the resource to be created"
},
"defaultValue": "[resourceGroup().location]"
},
"resourceTags": {
"type": "object",
"defaultValue": {
"Environemnt": "Dev",
"Project": "Sample"
}
}
},
"resources": [
{
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('name')]",
"apiVersion": "2020-06-01",
"location": "[parameters('resourceLocation')]",
"properties": {},
"tags": "[parameters('resourceTags')]"
}
]
}
Run the template Analyzer command pointing to this file.
dotnet TemplateAnalyzer.dll analyze-template <path-to-template>.json --report-format Console --include-non-security-rules -v
Environment
I have tried this with Ubuntu and Mac OSX (M1 - Apple Silicon).
NOTE: I am using dotnet-sdk-7.0 to run the TemplateAnalyzer on Unix machines.
BernieWhite