getRole

suspend fun getRole(argument: GetRolePlainArgs): GetRoleResult

# 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.GroupRoles.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.keycloak.Realm;
import com.pulumi.keycloak.RealmArgs;
import com.pulumi.keycloak.KeycloakFunctions;
import com.pulumi.keycloak.inputs.GetRoleArgs;
import com.pulumi.keycloak.Group;
import com.pulumi.keycloak.GroupArgs;
import com.pulumi.keycloak.GroupRoles;
import com.pulumi.keycloak.GroupRolesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var realm = new Realm("realm", RealmArgs.builder()
.realm("my-realm")
.enabled(true)
.build());
final var offlineAccess = KeycloakFunctions.getRole(GetRoleArgs.builder()
.realmId(realm.id())
.name("offline_access")
.build());
// use the data source
var group = new Group("group", GroupArgs.builder()
.realmId(realm.id())
.name("group")
.build());
var groupRoles = new GroupRoles("groupRoles", GroupRolesArgs.builder()
.realmId(realm.id())
.groupId(group.id())
.roles(offlineAccess.applyValue(getRoleResult -> getRoleResult).applyValue(offlineAccess -> offlineAccess.applyValue(getRoleResult -> getRoleResult.id())))
.build());
}
}
resources:
realm:
type: keycloak:Realm
properties:
realm: my-realm
enabled: true
# use the data source
group:
type: keycloak:Group
properties:
realmId: ${realm.id}
name: group
groupRoles:
type: keycloak:GroupRoles
name: group_roles
properties:
realmId: ${realm.id}
groupId: ${group.id}
roles:
- ${offlineAccess.id}
variables:
offlineAccess:
fn::invoke:
Function: keycloak:getRole
Arguments:
realmId: ${realm.id}
name: offline_access

Argument Reference

The following arguments are supported:

  • realm_id - (Required) The realm this role exists within.

  • client_id - (Optional) When specified, this role is assumed to be a client role belonging to the client with the provided ID

  • name - (Required) The name of the role

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

  • id - The unique ID of the role, which can be used as an argument to other resources supported by this provider.

  • description - The description of the role.

Return

A collection of values returned by getRole.

Parameters

argument

A collection of arguments for invoking getRole.


suspend fun getRole(clientId: String? = null, name: String, realmId: String): GetRoleResult

Return

A collection of values returned by getRole.

Parameters

clientId
name
realmId

See also


suspend fun getRole(argument: suspend GetRolePlainArgsBuilder.() -> Unit): GetRoleResult

Return

A collection of values returned by getRole.

Parameters

argument

Builder for com.pulumi.keycloak.kotlin.inputs.GetRolePlainArgs.

See also