keycloak logo
Keycloak v5.0.0, Jan 25 23

keycloak.getUser

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

Example Usage

using System.Collections.Generic;
using Pulumi;
using Keycloak = Pulumi.Keycloak;

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

    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),
    };
});
package main

import (
	"github.com/pulumi/pulumi-keycloak/sdk/v5/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
		}
		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
	})
}
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());

        final var defaultAdminUser = KeycloakFunctions.getUser(GetUserArgs.builder()
            .realmId(masterRealm.applyValue(getRealmResult -> getRealmResult.id()))
            .username("keycloak")
            .build());

        ctx.export("keycloakUserId", defaultAdminUser.applyValue(getUserResult -> getUserResult.id()));
    }
}
import pulumi
import pulumi_keycloak as keycloak

master_realm = keycloak.get_realm(realm="master")
default_admin_user = keycloak.get_user(realm_id=master_realm.id,
    username="keycloak")
pulumi.export("keycloakUserId", default_admin_user.id)
import * as pulumi from "@pulumi/pulumi";
import * as keycloak from "@pulumi/keycloak";

const masterRealm = keycloak.getRealm({
    realm: "master",
});
const defaultAdminUser = masterRealm.then(masterRealm => keycloak.getUser({
    realmId: masterRealm.id,
    username: "keycloak",
}));
export const keycloakUserId = defaultAdminUser.then(defaultAdminUser => defaultAdminUser.id);
variables:
  masterRealm:
    fn::invoke:
      Function: keycloak:getRealm
      Arguments:
        realm: master
  defaultAdminUser:
    fn::invoke:
      Function: keycloak:getUser
      Arguments:
        realmId: ${masterRealm.id}
        username: keycloak
outputs:
  keycloakUserId: ${defaultAdminUser.id}

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>
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]
func LookupUser(ctx *Context, args *LookupUserArgs, opts ...InvokeOption) (*LookupUserResult, error)
func LookupUserOutput(ctx *Context, args *LookupUserOutputArgs, opts ...InvokeOption) LookupUserResultOutput

> 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)
}
public static CompletableFuture<GetUserResult> getUser(GetUserArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: keycloak:index/getUser:getUser
  arguments:
    # arguments dictionary

The following arguments are supported:

RealmId string

The realm this user belongs to.

Username string

The unique username of this user.

RealmId string

The realm this user belongs to.

Username string

The unique username of this user.

realmId String

The realm this user belongs to.

username String

The unique username of this user.

realmId string

The realm this user belongs to.

username string

The unique username of this user.

realm_id str

The realm this user belongs to.

username str

The unique username of this user.

realmId String

The realm this user belongs to.

username String

The unique username of this user.

getUser Result

The following output properties are available:

Attributes Dictionary<string, object>

(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
Username string
Attributes map[string]interface{}

(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
Username string
attributes Map<String,Object>

(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
username String
attributes {[key: string]: any}

(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
username string
attributes Mapping[str, Any]

(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
username str
attributes Map<Any>

(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
username String

Package Details

Repository
Keycloak pulumi/pulumi-keycloak
License
Apache-2.0
Notes

This Pulumi package is based on the keycloak Terraform Provider.