1. Packages
  2. Packages
  3. Keycloak Provider
  4. API Docs
  5. getUser
Viewing docs for Keycloak v4.11.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
keycloak logo
Viewing docs for Keycloak v4.11.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi

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

    Example Usage

    using Pulumi;
    using Keycloak = Pulumi.Keycloak;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var masterRealm = Output.Create(Keycloak.GetRealm.InvokeAsync(new Keycloak.GetRealmArgs
            {
                Realm = "master",
            }));
            var defaultAdminUser = masterRealm.Apply(masterRealm => Output.Create(Keycloak.GetUser.InvokeAsync(new Keycloak.GetUserArgs
            {
                RealmId = masterRealm.Id,
                Username = "keycloak",
            })));
            this.KeycloakUserId = defaultAdminUser.Apply(defaultAdminUser => defaultAdminUser.Id);
        }
    
        [Output("keycloakUserId")]
        public Output<string> KeycloakUserId { get; set; }
    }
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-keycloak/sdk/v4/go/keycloak"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		masterRealm, err := keycloak.LookupRealm(ctx, &GetRealmArgs{
    			Realm: "master",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultAdminUser, err := keycloak.LookupUser(ctx, &GetUserArgs{
    			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 * 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);
    
    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)
    
    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)
    public static Output<GetUserResult> getUser(GetUserArgs args, InvokeOptions options)
    
    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.
    keycloak logo
    Viewing docs for Keycloak v4.11.0 (Older version)
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.