1. Packages
  2. Keycloak Provider
  3. API Docs
  4. getUser
Keycloak v6.2.2 published on Wednesday, Apr 9, 2025 by Pulumi

keycloak.getUser

Explore with Pulumi AI

Keycloak v6.2.2 published on Wednesday, Apr 9, 2025 by Pulumi

This data source can be used to fetch properties of a user within Keycloak.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as keycloak from "@pulumi/keycloak";

const masterRealm = keycloak.getRealm({
    realm: "master",
});
// use the keycloak_user data source to grab the admin user's ID
const defaultAdminUser = masterRealm.then(masterRealm => keycloak.getUser({
    realmId: masterRealm.id,
    username: "keycloak",
}));
export const keycloakUserId = defaultAdminUser.then(defaultAdminUser => defaultAdminUser.id);
Copy
import pulumi
import pulumi_keycloak as keycloak

master_realm = keycloak.get_realm(realm="master")
# use the keycloak_user data source to grab the admin user's ID
default_admin_user = keycloak.get_user(realm_id=master_realm.id,
    username="keycloak")
pulumi.export("keycloakUserId", default_admin_user.id)
Copy
package main

import (
	"github.com/pulumi/pulumi-keycloak/sdk/v6/go/keycloak"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		masterRealm, err := keycloak.LookupRealm(ctx, &keycloak.LookupRealmArgs{
			Realm: "master",
		}, nil)
		if err != nil {
			return err
		}
		// use the keycloak_user data source to grab the admin user's ID
		defaultAdminUser, err := keycloak.LookupUser(ctx, &keycloak.LookupUserArgs{
			RealmId:  masterRealm.Id,
			Username: "keycloak",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("keycloakUserId", defaultAdminUser.Id)
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Keycloak = Pulumi.Keycloak;

return await Deployment.RunAsync(() => 
{
    var masterRealm = Keycloak.GetRealm.Invoke(new()
    {
        Realm = "master",
    });

    // use the keycloak_user data source to grab the admin user's ID
    var defaultAdminUser = Keycloak.GetUser.Invoke(new()
    {
        RealmId = masterRealm.Apply(getRealmResult => getRealmResult.Id),
        Username = "keycloak",
    });

    return new Dictionary<string, object?>
    {
        ["keycloakUserId"] = defaultAdminUser.Apply(getUserResult => getUserResult.Id),
    };
});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.keycloak.KeycloakFunctions;
import com.pulumi.keycloak.inputs.GetRealmArgs;
import com.pulumi.keycloak.inputs.GetUserArgs;
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) {
        final var masterRealm = KeycloakFunctions.getRealm(GetRealmArgs.builder()
            .realm("master")
            .build());

        // use the keycloak_user data source to grab the admin user's ID
        final var defaultAdminUser = KeycloakFunctions.getUser(GetUserArgs.builder()
            .realmId(masterRealm.id())
            .username("keycloak")
            .build());

        ctx.export("keycloakUserId", defaultAdminUser.id());
    }
}
Copy
variables:
  masterRealm:
    fn::invoke:
      function: keycloak:getRealm
      arguments:
        realm: master
  # use the keycloak_user data source to grab the admin user's ID
  defaultAdminUser:
    fn::invoke:
      function: keycloak:getUser
      arguments:
        realmId: ${masterRealm.id}
        username: keycloak
outputs:
  keycloakUserId: ${defaultAdminUser.id}
Copy

Using getUser

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getUser(args: GetUserArgs, opts?: InvokeOptions): Promise<GetUserResult>
function getUserOutput(args: GetUserOutputArgs, opts?: InvokeOptions): Output<GetUserResult>
Copy
def get_user(realm_id: Optional[str] = None,
             username: Optional[str] = None,
             opts: Optional[InvokeOptions] = None) -> GetUserResult
def get_user_output(realm_id: Optional[pulumi.Input[str]] = None,
             username: Optional[pulumi.Input[str]] = None,
             opts: Optional[InvokeOptions] = None) -> Output[GetUserResult]
Copy
func LookupUser(ctx *Context, args *LookupUserArgs, opts ...InvokeOption) (*LookupUserResult, error)
func LookupUserOutput(ctx *Context, args *LookupUserOutputArgs, opts ...InvokeOption) LookupUserResultOutput
Copy

> Note: This function is named LookupUser in the Go SDK.

public static class GetUser 
{
    public static Task<GetUserResult> InvokeAsync(GetUserArgs args, InvokeOptions? opts = null)
    public static Output<GetUserResult> Invoke(GetUserInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetUserResult> getUser(GetUserArgs args, InvokeOptions options)
public static Output<GetUserResult> getUser(GetUserArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: keycloak:index/getUser:getUser
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

RealmId This property is required. string
The realm this user belongs to.
Username This property is required. string
The unique username of this user.
RealmId This property is required. string
The realm this user belongs to.
Username This property is required. string
The unique username of this user.
realmId This property is required. String
The realm this user belongs to.
username This property is required. String
The unique username of this user.
realmId This property is required. string
The realm this user belongs to.
username This property is required. string
The unique username of this user.
realm_id This property is required. str
The realm this user belongs to.
username This property is required. str
The unique username of this user.
realmId This property is required. String
The realm this user belongs to.
username This property is required. String
The unique username of this user.

getUser Result

The following output properties are available:

Attributes Dictionary<string, string>
(Computed) A map representing attributes for the user
Email string
(Computed) The user's email.
EmailVerified bool
(Computed) Whether the email address was validated or not. Default to false.
Enabled bool
(Computed) When false, this user cannot log in. Defaults to true.
FederatedIdentities List<string>
(Computed) The user's federated identities, if applicable. This block has the following schema:
FirstName string
(Computed) The user's first name.
Id string
The provider-assigned unique ID for this managed resource.
LastName string
(Computed) The user's last name.
RealmId string
RequiredActions List<string>
Username string
Attributes map[string]string
(Computed) A map representing attributes for the user
Email string
(Computed) The user's email.
EmailVerified bool
(Computed) Whether the email address was validated or not. Default to false.
Enabled bool
(Computed) When false, this user cannot log in. Defaults to true.
FederatedIdentities []string
(Computed) The user's federated identities, if applicable. This block has the following schema:
FirstName string
(Computed) The user's first name.
Id string
The provider-assigned unique ID for this managed resource.
LastName string
(Computed) The user's last name.
RealmId string
RequiredActions []string
Username string
attributes Map<String,String>
(Computed) A map representing attributes for the user
email String
(Computed) The user's email.
emailVerified Boolean
(Computed) Whether the email address was validated or not. Default to false.
enabled Boolean
(Computed) When false, this user cannot log in. Defaults to true.
federatedIdentities List<String>
(Computed) The user's federated identities, if applicable. This block has the following schema:
firstName String
(Computed) The user's first name.
id String
The provider-assigned unique ID for this managed resource.
lastName String
(Computed) The user's last name.
realmId String
requiredActions List<String>
username String
attributes {[key: string]: string}
(Computed) A map representing attributes for the user
email string
(Computed) The user's email.
emailVerified boolean
(Computed) Whether the email address was validated or not. Default to false.
enabled boolean
(Computed) When false, this user cannot log in. Defaults to true.
federatedIdentities string[]
(Computed) The user's federated identities, if applicable. This block has the following schema:
firstName string
(Computed) The user's first name.
id string
The provider-assigned unique ID for this managed resource.
lastName string
(Computed) The user's last name.
realmId string
requiredActions string[]
username string
attributes Mapping[str, str]
(Computed) A map representing attributes for the user
email str
(Computed) The user's email.
email_verified bool
(Computed) Whether the email address was validated or not. Default to false.
enabled bool
(Computed) When false, this user cannot log in. Defaults to true.
federated_identities Sequence[str]
(Computed) The user's federated identities, if applicable. This block has the following schema:
first_name str
(Computed) The user's first name.
id str
The provider-assigned unique ID for this managed resource.
last_name str
(Computed) The user's last name.
realm_id str
required_actions Sequence[str]
username str
attributes Map<String>
(Computed) A map representing attributes for the user
email String
(Computed) The user's email.
emailVerified Boolean
(Computed) Whether the email address was validated or not. Default to false.
enabled Boolean
(Computed) When false, this user cannot log in. Defaults to true.
federatedIdentities List<String>
(Computed) The user's federated identities, if applicable. This block has the following schema:
firstName String
(Computed) The user's first name.
id String
The provider-assigned unique ID for this managed resource.
lastName String
(Computed) The user's last name.
realmId String
requiredActions List<String>
username String

Package Details

Repository
Keycloak pulumi/pulumi-keycloak
License
Apache-2.0
Notes
This Pulumi package is based on the keycloak Terraform Provider.
Keycloak v6.2.2 published on Wednesday, Apr 9, 2025 by Pulumi