1. Packages
  2. Keycloak Provider
  3. API Docs
  4. getOrganization
Keycloak v6.7.0 published on Tuesday, Jul 29, 2025 by Pulumi

keycloak.getOrganization

Explore with Pulumi AI

keycloak logo
Keycloak v6.7.0 published on Tuesday, Jul 29, 2025 by Pulumi

    This data source can be used to fetch properties of a Keycloak organization for usage with other resources.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as keycloak from "@pulumi/keycloak";
    
    const realm = keycloak.getRealm({
        realm: "my-realm",
    });
    const organization = realm.then(realm => keycloak.getOrganization({
        realm: realm.id,
        name: "my-org",
    }));
    // use the data source
    const realmIdentityProvider = new keycloak.oidc.IdentityProvider("realm_identity_provider", {
        realm: realm.then(realm => realm.id),
        alias: "my-idp",
        authorizationUrl: "https://authorizationurl.com",
        clientId: "clientID",
        clientSecret: "clientSecret",
        tokenUrl: "https://tokenurl.com",
        organizationId: organization.then(organization => organization.id),
    });
    
    import pulumi
    import pulumi_keycloak as keycloak
    
    realm = keycloak.get_realm(realm="my-realm")
    organization = keycloak.get_organization(realm=realm.id,
        name="my-org")
    # use the data source
    realm_identity_provider = keycloak.oidc.IdentityProvider("realm_identity_provider",
        realm=realm.id,
        alias="my-idp",
        authorization_url="https://authorizationurl.com",
        client_id="clientID",
        client_secret="clientSecret",
        token_url="https://tokenurl.com",
        organization_id=organization.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-keycloak/sdk/v6/go/keycloak"
    	"github.com/pulumi/pulumi-keycloak/sdk/v6/go/keycloak/oidc"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		realm, err := keycloak.LookupRealm(ctx, &keycloak.LookupRealmArgs{
    			Realm: "my-realm",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		organization, err := keycloak.LookupOrganization(ctx, &keycloak.LookupOrganizationArgs{
    			Realm: realm.Id,
    			Name:  "my-org",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// use the data source
    		_, err = oidc.NewIdentityProvider(ctx, "realm_identity_provider", &oidc.IdentityProviderArgs{
    			Realm:            pulumi.String(realm.Id),
    			Alias:            pulumi.String("my-idp"),
    			AuthorizationUrl: pulumi.String("https://authorizationurl.com"),
    			ClientId:         pulumi.String("clientID"),
    			ClientSecret:     pulumi.String("clientSecret"),
    			TokenUrl:         pulumi.String("https://tokenurl.com"),
    			OrganizationId:   pulumi.String(organization.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Keycloak = Pulumi.Keycloak;
    
    return await Deployment.RunAsync(() => 
    {
        var realm = Keycloak.GetRealm.Invoke(new()
        {
            Realm = "my-realm",
        });
    
        var organization = Keycloak.GetOrganization.Invoke(new()
        {
            Realm = realm.Apply(getRealmResult => getRealmResult.Id),
            Name = "my-org",
        });
    
        // use the data source
        var realmIdentityProvider = new Keycloak.Oidc.IdentityProvider("realm_identity_provider", new()
        {
            Realm = realm.Apply(getRealmResult => getRealmResult.Id),
            Alias = "my-idp",
            AuthorizationUrl = "https://authorizationurl.com",
            ClientId = "clientID",
            ClientSecret = "clientSecret",
            TokenUrl = "https://tokenurl.com",
            OrganizationId = organization.Apply(getOrganizationResult => getOrganizationResult.Id),
        });
    
    });
    
    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.GetOrganizationArgs;
    import com.pulumi.keycloak.oidc.IdentityProvider;
    import com.pulumi.keycloak.oidc.IdentityProviderArgs;
    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 realm = KeycloakFunctions.getRealm(GetRealmArgs.builder()
                .realm("my-realm")
                .build());
    
            final var organization = KeycloakFunctions.getOrganization(GetOrganizationArgs.builder()
                .realm(realm.id())
                .name("my-org")
                .build());
    
            // use the data source
            var realmIdentityProvider = new IdentityProvider("realmIdentityProvider", IdentityProviderArgs.builder()
                .realm(realm.id())
                .alias("my-idp")
                .authorizationUrl("https://authorizationurl.com")
                .clientId("clientID")
                .clientSecret("clientSecret")
                .tokenUrl("https://tokenurl.com")
                .organizationId(organization.id())
                .build());
    
        }
    }
    
    resources:
      # use the data source
      realmIdentityProvider:
        type: keycloak:oidc:IdentityProvider
        name: realm_identity_provider
        properties:
          realm: ${realm.id}
          alias: my-idp
          authorizationUrl: https://authorizationurl.com
          clientId: clientID
          clientSecret: clientSecret
          tokenUrl: https://tokenurl.com
          organizationId: ${organization.id}
    variables:
      realm:
        fn::invoke:
          function: keycloak:getRealm
          arguments:
            realm: my-realm
      organization:
        fn::invoke:
          function: keycloak:getOrganization
          arguments:
            realm: ${realm.id}
            name: my-org
    

    Using getOrganization

    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 getOrganization(args: GetOrganizationArgs, opts?: InvokeOptions): Promise<GetOrganizationResult>
    function getOrganizationOutput(args: GetOrganizationOutputArgs, opts?: InvokeOptions): Output<GetOrganizationResult>
    def get_organization(name: Optional[str] = None,
                         realm: Optional[str] = None,
                         opts: Optional[InvokeOptions] = None) -> GetOrganizationResult
    def get_organization_output(name: Optional[pulumi.Input[str]] = None,
                         realm: Optional[pulumi.Input[str]] = None,
                         opts: Optional[InvokeOptions] = None) -> Output[GetOrganizationResult]
    func LookupOrganization(ctx *Context, args *LookupOrganizationArgs, opts ...InvokeOption) (*LookupOrganizationResult, error)
    func LookupOrganizationOutput(ctx *Context, args *LookupOrganizationOutputArgs, opts ...InvokeOption) LookupOrganizationResultOutput

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

    public static class GetOrganization 
    {
        public static Task<GetOrganizationResult> InvokeAsync(GetOrganizationArgs args, InvokeOptions? opts = null)
        public static Output<GetOrganizationResult> Invoke(GetOrganizationInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetOrganizationResult> getOrganization(GetOrganizationArgs args, InvokeOptions options)
    public static Output<GetOrganizationResult> getOrganization(GetOrganizationArgs args, InvokeOptions options)
    
    fn::invoke:
      function: keycloak:index/getOrganization:getOrganization
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Name string
    The organization name.
    Realm string
    The name of the realm this organization exists within.
    Name string
    The organization name.
    Realm string
    The name of the realm this organization exists within.
    name String
    The organization name.
    realm String
    The name of the realm this organization exists within.
    name string
    The organization name.
    realm string
    The name of the realm this organization exists within.
    name str
    The organization name.
    realm str
    The name of the realm this organization exists within.
    name String
    The organization name.
    realm String
    The name of the realm this organization exists within.

    getOrganization Result

    The following output properties are available:

    Alias string
    Attributes Dictionary<string, string>
    Description string
    Domains List<GetOrganizationDomain>
    Enabled bool
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Realm string
    RedirectUrl string
    Alias string
    Attributes map[string]string
    Description string
    Domains []GetOrganizationDomain
    Enabled bool
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    Realm string
    RedirectUrl string
    alias String
    attributes Map<String,String>
    description String
    domains List<GetOrganizationDomain>
    enabled Boolean
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    realm String
    redirectUrl String
    alias string
    attributes {[key: string]: string}
    description string
    domains GetOrganizationDomain[]
    enabled boolean
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    realm string
    redirectUrl string
    alias str
    attributes Mapping[str, str]
    description str
    domains Sequence[GetOrganizationDomain]
    enabled bool
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    realm str
    redirect_url str
    alias String
    attributes Map<String>
    description String
    domains List<Property Map>
    enabled Boolean
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    realm String
    redirectUrl String

    Supporting Types

    GetOrganizationDomain

    Name string
    The organization name.
    Verified bool
    Name string
    The organization name.
    Verified bool
    name String
    The organization name.
    verified Boolean
    name string
    The organization name.
    verified boolean
    name str
    The organization name.
    verified bool
    name String
    The organization name.
    verified Boolean

    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 v6.7.0 published on Tuesday, Jul 29, 2025 by Pulumi