variable "users" {
type = set(string)
default = [
"oisaac",
"auser"
]
}
data "ldap_object" "user" {
for_each = var.users
base_dn = "OU=Users,OU=Example,DC=ad,DC=example,DC=com"
search_values = {
sAMAccountName = each.key
}
}
resource "ldap_object" "group" {
dn = "CN=test-terraform,OU=Groups,OU=Example,DC=ad,DC=example,DC=com"
object_classes = [
"top",
"group",
]
attributes = [for u in var.users : { "member" = data.ldap_object.user[u].dn }]
select_attributes = [
"member"
]
}
// You also get access to attributes as a JSON encoded array which could be helpful
output "json_vals" {
value = jsondecode(data.ldap_object.user["oisaac"].attributes_json["memberOf"])[0]
}