mrparkers / terraform-provider-keycloak

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

Data source: keycloak_roles #914

Open Sander0542 opened 9 months ago

Sander0542 commented 9 months ago

Currently, there is a data source for fetching a specific role from a realm (and client). However, there is no way to fetch all the roles for a realm (and client).

data "keycloak_role" "admin" {
  realm_id = data.keycloak_realm.realm.id
  client_id = data.keycloak_openid_client.client.id # Optional
  name = "admin"
}

Possible implementation:

data "keycloak_roles" "realm" {
  realm_id = data.keycloak_realm.realm.id
  client_id = data.keycloak_openid_client.client.id # Optional
}

output "realm_roles" {
  value = data.keycloak_roles.realm.roles
}

Output:

realm_roles = {
  admin = {
    id = "uuid"
    name = "admin"
    description = "description"
  }
  user = {
    ...
  }
}