published on Saturday, Aug 1, 2026 by Pulumi
published on Saturday, Aug 1, 2026 by Pulumi
Use this data source to look up an existing client registration policy in a realm by name,
optionally narrowing the match by providerId and/or subType. This is primarily useful
for discovering the server-generated ID of a default policy Keycloak auto-creates (e.g.
“Trusted Hosts”, “Max Clients Limit”) so it can be referenced elsewhere.
If no policy matches, or more than one policy matches, an error is returned.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as keycloak from "@pulumi/keycloak";
const realm = new keycloak.Realm("realm", {realm: "my-realm"});
const trustedHosts = keycloak.getRealmClientRegistrationPolicyOutput({
realmId: realm.id,
name: "Trusted Hosts",
providerId: "trusted-hosts",
subType: "anonymous",
});
export const trustedHostsPolicyId = trustedHosts.apply(trustedHosts => trustedHosts.id);
import pulumi
import pulumi_keycloak as keycloak
realm = keycloak.Realm("realm", realm="my-realm")
trusted_hosts = keycloak.get_realm_client_registration_policy_output(realm_id=realm.id,
name="Trusted Hosts",
provider_id="trusted-hosts",
sub_type="anonymous")
pulumi.export("trustedHostsPolicyId", trusted_hosts.id)
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 {
realm, err := keycloak.NewRealm(ctx, "realm", &keycloak.RealmArgs{
Realm: pulumi.String("my-realm"),
})
if err != nil {
return err
}
trustedHosts := keycloak.GetRealmClientRegistrationPolicyOutput(ctx, keycloak.GetRealmClientRegistrationPolicyOutputArgs{
RealmId: realm.ID(),
Name: pulumi.String("Trusted Hosts"),
ProviderId: pulumi.String("trusted-hosts"),
SubType: pulumi.String("anonymous"),
}, nil)
ctx.Export("trustedHostsPolicyId", trustedHosts.ApplyT(func(trustedHosts keycloak.GetRealmClientRegistrationPolicyResult) (*string, error) {
return trustedHosts.Id, nil
}).(pulumi.StringPtrOutput))
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Keycloak = Pulumi.Keycloak;
return await Deployment.RunAsync(() =>
{
var realm = new Keycloak.Realm("realm", new()
{
RealmName = "my-realm",
});
var trustedHosts = Keycloak.GetRealmClientRegistrationPolicy.Invoke(new()
{
RealmId = realm.Id,
Name = "Trusted Hosts",
ProviderId = "trusted-hosts",
SubType = "anonymous",
});
return new Dictionary<string, object?>
{
["trustedHostsPolicyId"] = trustedHosts.Apply(getRealmClientRegistrationPolicyResult => getRealmClientRegistrationPolicyResult.Id),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.keycloak.Realm;
import com.pulumi.keycloak.RealmArgs;
import com.pulumi.keycloak.KeycloakFunctions;
import com.pulumi.keycloak.inputs.GetRealmClientRegistrationPolicyArgs;
import java.util.ArrayList;
import java.util.Arrays;
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) {
var realm = new Realm("realm", RealmArgs.builder()
.realm("my-realm")
.build());
final var trustedHosts = KeycloakFunctions.getRealmClientRegistrationPolicy(GetRealmClientRegistrationPolicyArgs.builder()
.realmId(realm.id())
.name("Trusted Hosts")
.providerId("trusted-hosts")
.subType("anonymous")
.build());
ctx.export("trustedHostsPolicyId", trustedHosts.applyValue(_trustedHosts -> _trustedHosts.id()));
}
}
resources:
realm:
type: keycloak:Realm
properties:
realm: my-realm
variables:
trustedHosts:
fn::invoke:
function: keycloak:getRealmClientRegistrationPolicy
arguments:
realmId: ${realm.id}
name: Trusted Hosts
providerId: trusted-hosts
subType: anonymous
outputs:
trustedHostsPolicyId: ${trustedHosts.id}
pulumi {
required_providers {
keycloak = {
source = "pulumi/keycloak"
}
}
}
data "keycloak_getrealmclientregistrationpolicy" "trustedHosts" {
realm_id = keycloak_realm.realm.id
name = "Trusted Hosts"
provider_id = "trusted-hosts"
sub_type = "anonymous"
}
resource "keycloak_realm" "realm" {
realm = "my-realm"
}
output "trustedHostsPolicyId" {
value = data.keycloak_getrealmclientregistrationpolicy.trustedHosts.id
}
Using getRealmClientRegistrationPolicy
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 getRealmClientRegistrationPolicy(args: GetRealmClientRegistrationPolicyArgs, opts?: InvokeOptions): Promise<GetRealmClientRegistrationPolicyResult>
function getRealmClientRegistrationPolicyOutput(args: GetRealmClientRegistrationPolicyOutputArgs, opts?: InvokeOptions): Output<GetRealmClientRegistrationPolicyResult>def get_realm_client_registration_policy(name: Optional[str] = None,
provider_id: Optional[str] = None,
realm_id: Optional[str] = None,
sub_type: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetRealmClientRegistrationPolicyResult
def get_realm_client_registration_policy_output(name: pulumi.Input[Optional[str]] = None,
provider_id: pulumi.Input[Optional[str]] = None,
realm_id: pulumi.Input[Optional[str]] = None,
sub_type: pulumi.Input[Optional[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetRealmClientRegistrationPolicyResult]func LookupRealmClientRegistrationPolicy(ctx *Context, args *LookupRealmClientRegistrationPolicyArgs, opts ...InvokeOption) (*LookupRealmClientRegistrationPolicyResult, error)
func LookupRealmClientRegistrationPolicyOutput(ctx *Context, args *LookupRealmClientRegistrationPolicyOutputArgs, opts ...InvokeOption) LookupRealmClientRegistrationPolicyResultOutput> Note: This function is named LookupRealmClientRegistrationPolicy in the Go SDK.
public static class GetRealmClientRegistrationPolicy
{
public static Task<GetRealmClientRegistrationPolicyResult> InvokeAsync(GetRealmClientRegistrationPolicyArgs args, InvokeOptions? opts = null)
public static Output<GetRealmClientRegistrationPolicyResult> Invoke(GetRealmClientRegistrationPolicyInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetRealmClientRegistrationPolicyResult> getRealmClientRegistrationPolicy(GetRealmClientRegistrationPolicyArgs args, InvokeOptions options)
public static Output<GetRealmClientRegistrationPolicyResult> getRealmClientRegistrationPolicy(GetRealmClientRegistrationPolicyArgs args, InvokeOptions options)
fn::invoke:
function: keycloak:index/getRealmClientRegistrationPolicy:getRealmClientRegistrationPolicy
arguments:
# arguments dictionarydata "keycloak_get_realm_client_registration_policy" "name" {
# arguments
}The following arguments are supported:
- Name string
- The name of the policy to find.
- Realm
Id string - The realm the policy belongs to.
- Provider
Id string - Filter by provider ID (e.g.
trusted-hosts,max-clients). - Sub
Type string - Filter by sub-type (
anonymousorauthenticated).
- Name string
- The name of the policy to find.
- Realm
Id string - The realm the policy belongs to.
- Provider
Id string - Filter by provider ID (e.g.
trusted-hosts,max-clients). - Sub
Type string - Filter by sub-type (
anonymousorauthenticated).
- name string
- The name of the policy to find.
- realm_
id string - The realm the policy belongs to.
- provider_
id string - Filter by provider ID (e.g.
trusted-hosts,max-clients). - sub_
type string - Filter by sub-type (
anonymousorauthenticated).
- name String
- The name of the policy to find.
- realm
Id String - The realm the policy belongs to.
- provider
Id String - Filter by provider ID (e.g.
trusted-hosts,max-clients). - sub
Type String - Filter by sub-type (
anonymousorauthenticated).
- name string
- The name of the policy to find.
- realm
Id string - The realm the policy belongs to.
- provider
Id string - Filter by provider ID (e.g.
trusted-hosts,max-clients). - sub
Type string - Filter by sub-type (
anonymousorauthenticated).
- name str
- The name of the policy to find.
- realm_
id str - The realm the policy belongs to.
- provider_
id str - Filter by provider ID (e.g.
trusted-hosts,max-clients). - sub_
type str - Filter by sub-type (
anonymousorauthenticated).
- name String
- The name of the policy to find.
- realm
Id String - The realm the policy belongs to.
- provider
Id String - Filter by provider ID (e.g.
trusted-hosts,max-clients). - sub
Type String - Filter by sub-type (
anonymousorauthenticated).
getRealmClientRegistrationPolicy Result
The following output properties are available:
Package Details
- Repository
- Keycloak pulumi/pulumi-keycloak
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
keycloakTerraform Provider.
published on Saturday, Aug 1, 2026 by Pulumi