Unable to apply azure naming convention for resource group at subscription level
resource “azurerm_policy_definition” “policy” {
name = “PaC-Naming-Convention02rg”
policy_type = “Custom”
mode = “Indexed”
display_name = “PaC_Naming_Convention01”
metadata = <<METADATA
{
"category": "Demo"
}
METADATA
policy_rule = <<POLICY_RULE
{
"if": {
"allOf":[
{
"not":{
"field":"name",
"match":"[parameters('namePattern')]"
}
},
{
"field": "type",
"equals": "Microsoft.Resources/resourceGroups"
}
]
},
"then": {
"effect": "deny"
}
}
POLICY_RULE
parameters = <<PARAMETERS
{
"namePattern":{
"type": "String",
"metadata":{
"displayName": "namePattern",
"description": "? for letter, # for numbers"
}
}
}
PARAMETERS
}
data “azurerm_subscription” “current” {
}
Define Azure Policy Assignment
resource “azurerm_policy_assignment” “policy-assignment” {
name = “Naming-Convention-Assignment02”
scope = data.azurerm_subscription.current.id
policy_definition_id = azurerm_policy_definition.policy.id
description = “Naming convention for VM”
display_name = “Naming-Convention-Assignment”
parameters = <<PARAMETERS
{
“namePattern”: {
"value": "rg-?????-###"
}
}
PARAMETERS
}