getRealmKeys

Use this data source to get the keys of a realm. Keys can be filtered by algorithm and status. Remarks:

  • A key must meet all filter criteria

  • This data source may return more than one value.

  • If no key matches the filter criteria, then an error will be returned.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as keycloak from "@pulumi/keycloak";
const realm = new keycloak.Realm("realm", {
realm: "my-realm",
enabled: true,
});
const realmKeys = keycloak.getRealmKeysOutput({
realmId: realm.id,
algorithms: [
"AES",
"RS256",
],
statuses: [
"ACTIVE",
"PASSIVE",
],
});
export const certificate = realmKeys.apply(realmKeys => realmKeys.keys?.[0]?.certificate);
import pulumi
import pulumi_keycloak as keycloak
realm = keycloak.Realm("realm",
realm="my-realm",
enabled=True)
realm_keys = keycloak.get_realm_keys_output(realm_id=realm.id,
algorithms=[
"AES",
"RS256",
],
statuses=[
"ACTIVE",
"PASSIVE",
])
pulumi.export("certificate", realm_keys.keys[0].certificate)
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",
Enabled = true,
});
var realmKeys = Keycloak.GetRealmKeys.Invoke(new()
{
RealmId = realm.Id,
Algorithms = new[]
{
"AES",
"RS256",
},
Statuses = new[]
{
"ACTIVE",
"PASSIVE",
},
});
return new Dictionary<string, object?>
{
["certificate"] = realmKeys&#46;Apply(getRealmKeysResult => getRealmKeysResult&#46;Keys[0]?.Certificate),
};
});
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"),
Enabled: pulumi.Bool(true),
})
if err != nil {
return err
}
realmKeys := keycloak.GetRealmKeysOutput(ctx, keycloak.GetRealmKeysOutputArgs{
RealmId: realm.ID(),
Algorithms: pulumi.StringArray{
pulumi.String("AES"),
pulumi.String("RS256"),
},
Statuses: pulumi.StringArray{
pulumi.String("ACTIVE"),
pulumi.String("PASSIVE"),
},
}, nil)
ctx.Export("certificate", realmKeys.ApplyT(func(realmKeys keycloak.GetRealmKeysResult) (*string, error) {
return &realmKeys.Keys[0].Certificate, nil
}).(pulumi.StringPtrOutput))
return nil
})
}
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.GetRealmKeysArgs;
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) {
var realm = new Realm("realm", RealmArgs.builder()
.realm("my-realm")
.enabled(true)
.build());
final var realmKeys = KeycloakFunctions.getRealmKeys(GetRealmKeysArgs.builder()
.realmId(realm.id())
.algorithms(
"AES",
"RS256")
.statuses(
"ACTIVE",
"PASSIVE")
.build());
ctx.export("certificate", realmKeys.applyValue(_realmKeys -> _realmKeys.keys()[0].certificate()));
}
}
resources:
realm:
type: keycloak:Realm
properties:
realm: my-realm
enabled: true
variables:
realmKeys:
fn::invoke:
function: keycloak:getRealmKeys
arguments:
realmId: ${realm.id}
algorithms:
- AES
- RS256
statuses:
- ACTIVE
- PASSIVE
outputs:
# show certificate of first key:
certificate: ${realmKeys.keys[0].certificate}

Return

A collection of values returned by getRealmKeys.

Parameters

argument

A collection of arguments for invoking getRealmKeys.


suspend fun getRealmKeys(algorithms: List<String>? = null, realmId: String, statuses: List<String>? = null): GetRealmKeysResult

Return

A collection of values returned by getRealmKeys.

Parameters

algorithms

When specified, keys will be filtered by algorithm. The algorithms can be any of HS256, RS256,AES, etc.

realmId

The realm from which the keys will be retrieved.

statuses

When specified, keys will be filtered by status. The statuses can be any of ACTIVE, DISABLED and PASSIVE.

See also


Return

A collection of values returned by getRealmKeys.

Parameters

argument

Builder for com.pulumi.keycloak.kotlin.inputs.GetRealmKeysPlainArgs.

See also