get Realm Keys
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.Apply(getRealmKeysResult => getRealmKeysResult.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
A collection of arguments for invoking getRealmKeys.
Return
A collection of values returned by getRealmKeys.
Parameters
When specified, keys will be filtered by algorithm. The algorithms can be any of HS256
, RS256
,AES
, etc.
The realm from which the keys will be retrieved.
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
Builder for com.pulumi.keycloak.kotlin.inputs.GetRealmKeysPlainArgs.