mrparkers / terraform-provider-keycloak

Terraform provider for Keycloak
https://registry.terraform.io/providers/mrparkers/keycloak/latest/docs
MIT License
598 stars 292 forks source link

Feature Request: Missing data source keycloak_users #893

Open andrejvanderzee opened 8 months ago

andrejvanderzee commented 8 months ago

The provider can only data source one particular user, but not all users from a particular realm or group. For example by a new data source keycloak_users:

data "keycloak_realm" "realm" {
  realm = "master"
}

// use the keycloak_users data source to grab all user's IDs in the realm
data "keycloak_users" "users" {
  realm_id = data.keycloak_realm.realm.id
}

data "keycloak_user" "user" {
  for_each = toset(data.keycloak_users.users.ids)
  id       = each.value
}

Or for a particular group:

data "keycloak_realm" "realm" {
  realm = "master"
}

data "keycloak_group" "group" {
    realm_id = keycloak_realm.realm.id
    name     = "group"
}

// use the keycloak_users data source to grab all user's IDs that are member of "group"
data "keycloak_users" "users" {
  realm_id = data.keycloak_realm.realm.id
  group_id = data.keycloak_group.group.id
}

data "keycloak_user" "realm_user" {
  for_each = toset(data.keycloak_users.realm_users.ids)
  id       = each.value
}