RealmKeystoreAesGeneratedArgs

data class RealmKeystoreAesGeneratedArgs(val active: Output<Boolean>? = null, val enabled: Output<Boolean>? = null, val name: Output<String>? = null, val priority: Output<Int>? = null, val realmId: Output<String>? = null, val secretSize: Output<Int>? = null) : ConvertibleToJava<RealmKeystoreAesGeneratedArgs>

Allows for creating and managing aes-generated Realm keystores within Keycloak. A realm keystore manages generated key pairs that are used by Keycloak to perform cryptographic signatures and encryption.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as keycloak from "@pulumi/keycloak";
const realm = new keycloak.Realm("realm", {realm: "my-realm"});
const keystoreAesGenerated = new keycloak.RealmKeystoreAesGenerated("keystore_aes_generated", {
name: "my-aes-generated-key",
realmId: realm.id,
enabled: true,
active: true,
priority: 100,
secretSize: 16,
});
import pulumi
import pulumi_keycloak as keycloak
realm = keycloak.Realm("realm", realm="my-realm")
keystore_aes_generated = keycloak.RealmKeystoreAesGenerated("keystore_aes_generated",
name="my-aes-generated-key",
realm_id=realm.id,
enabled=True,
active=True,
priority=100,
secret_size=16)
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 keystoreAesGenerated = new Keycloak.RealmKeystoreAesGenerated("keystore_aes_generated", new()
{
Name = "my-aes-generated-key",
RealmId = realm.Id,
Enabled = true,
Active = true,
Priority = 100,
SecretSize = 16,
});
});
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
}
_, err = keycloak.NewRealmKeystoreAesGenerated(ctx, "keystore_aes_generated", &keycloak.RealmKeystoreAesGeneratedArgs{
Name: pulumi.String("my-aes-generated-key"),
RealmId: realm.ID(),
Enabled: pulumi.Bool(true),
Active: pulumi.Bool(true),
Priority: pulumi.Int(100),
SecretSize: pulumi.Int(16),
})
if err != nil {
return err
}
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.RealmKeystoreAesGenerated;
import com.pulumi.keycloak.RealmKeystoreAesGeneratedArgs;
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")
.build());
var keystoreAesGenerated = new RealmKeystoreAesGenerated("keystoreAesGenerated", RealmKeystoreAesGeneratedArgs.builder()
.name("my-aes-generated-key")
.realmId(realm.id())
.enabled(true)
.active(true)
.priority(100)
.secretSize(16)
.build());
}
}
resources:
realm:
type: keycloak:Realm
properties:
realm: my-realm
keystoreAesGenerated:
type: keycloak:RealmKeystoreAesGenerated
name: keystore_aes_generated
properties:
name: my-aes-generated-key
realmId: ${realm.id}
enabled: true
active: true
priority: 100
secretSize: 16

Import

Realm keys can be imported using realm name and keystore id, you can find it in web UI. Example: bash

$ pulumi import keycloak:index/realmKeystoreAesGenerated:RealmKeystoreAesGenerated keystore_aes_generated my-realm/618cfba7-49aa-4c09-9a19-2f699b576f0b

Constructors

Link copied to clipboard
constructor(active: Output<Boolean>? = null, enabled: Output<Boolean>? = null, name: Output<String>? = null, priority: Output<Int>? = null, realmId: Output<String>? = null, secretSize: Output<Int>? = null)

Properties

Link copied to clipboard
val active: Output<Boolean>? = null

When false, key in not used for signing. Defaults to true.

Link copied to clipboard
val enabled: Output<Boolean>? = null

When false, key is not accessible in this realm. Defaults to true.

Link copied to clipboard
val name: Output<String>? = null

Display name of provider when linked in admin console.

Link copied to clipboard
val priority: Output<Int>? = null

Priority for the provider. Defaults to 0

Link copied to clipboard
val realmId: Output<String>? = null

The realm this keystore exists in.

Link copied to clipboard
val secretSize: Output<Int>? = null

Size in bytes for the generated AES Key. Size 16 is for AES-128, Size 24 for AES-192 and Size 32 for AES-256. WARN: Bigger keys then 128 bits are not allowed on some JDK implementations. Defaults to 16.

Functions

Link copied to clipboard
open override fun toJava(): RealmKeystoreAesGeneratedArgs