1. Packages
  2. Keycloak
  3. API Docs
  4. getUser
Keycloak v5.3.0 published on Tuesday, Jan 9, 2024 by Pulumi

keycloak.getUser

Explore with Pulumi AI

keycloak logo
Keycloak v5.3.0 published on Tuesday, Jan 9, 2024 by Pulumi

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

    Example Usage

    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",
        });
    
        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
    RequiredActions List<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
    RequiredActions []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
    requiredActions List<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
    requiredActions 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
    required_actions Sequence[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
    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 logo
    Keycloak v5.3.0 published on Tuesday, Jan 9, 2024 by Pulumi