I would like to apply multiple Azure Policies to AKS. It seems to be complex to achieve in loop e.g.
locals {
policylist = [
{ name = "Do not allow privileged containers in Kubernetes cluster", foldername = "folder0" },
{ name = "Enforce HTTPS ingress in Kubernetes cluster", foldername = "folder1" },
]
data "azurerm_policy_definition" "example" {
count = "${length(local.policylist)}"
display_name = "${local.policylist[count.index].name}"
}
resource "azurerm_policy_assignment" "example" {
count = "${length(local.policylist)}"
name = data.azurerm_policy_definition.example[count.index].name
policy_definition_id = data.azurerm_policy_definition.example.id
parameters = file("${path.module}/policyjson/${local.policylist[count.index].fname}/params.json")
scope = azurerm_resource_group.example.id
}
This logic may create more issue since count index would be different in local.policylist
and data.azurerm_policy_definition
How can I append ID values back to local.policylist
only after matching correct name?
e.g.
policylist = [
{name = "", foldername="", id=""}
]