diff --git a/docs/data-sources/role.md b/docs/data-sources/role.md index 210676e91..23416a5f2 100644 --- a/docs/data-sources/role.md +++ b/docs/data-sources/role.md @@ -7,7 +7,7 @@ page_title: "keycloak_role Data Source" This data source can be used to fetch properties of a Keycloak role for usage with other resources, such as `keycloak_group_roles`. -## Example Usage +## Example Usage (Keycloak Role) ```hcl resource "keycloak_realm" "realm" { @@ -37,6 +37,43 @@ resource "keycloak_group_roles" "group_roles" { } ``` +## Example Usage (Realm Management Role) + +```hcl +resource "keycloak_realm" "realm" { + realm = "my-realm" + enabled = true +} + +data "keycloak_openid_client" "realm_management" { + realm_id = keycloak_realm.realm.id + client_id = "realm-management" +} + +data "keycloak_role" "query-users" { + realm_id = keycloak_realm.realm.id + client_id = data.keycloak_openid_client.realm_management.id + name = "query-users" +} + +# use the data source + +resource "keycloak_user" "user" { + realm_id = keycloak_realm.realm.id + username = "user" + enabled = true +} + +resource "keycloak_user_roles" "demo-hub-prod-realm-admin" { + realm_id = keycloak_realm.realm.id + user_id = keycloak_user.user.id + + role_ids = [ + data.keycloak_role.query-users.id, + ] +} +``` + ## Argument Reference - `realm_id` - (Required) The realm this role exists within.