# Define directories for different policy sets locals { policy_directories = { pki_int = "policies/pki_int" pki_root = "policies/pki_root" rundeck = "policies/rundeck" ssh_host_signer = "policies/ssh-host-signer" sshca = "policies/sshca" } } # Load policy files from each directory locals { policy_files = flatten([ for dir, path in local.policy_directories : [ for policy in fileset(path, "*.hcl") : { name = trim(replace(policy, ".hcl", ""), "/") path = "${path}/${policy}" } ] ]) } # Define vault policies for all sets resource "vault_policy" "policies" { for_each = { for policy in local.policy_files : policy.name => policy } name = each.value.name policy = file(each.value.path) }