Execution Config Args
data class ExecutionConfigArgs(val alias: Output<String>? = null, val config: Output<Map<String, String>>? = null, val executionId: Output<String>? = null, val realmId: Output<String>? = null) : ConvertibleToJava<ExecutionConfigArgs>
Allows for managing an authentication execution's configuration. If a particular authentication execution supports additional configuration (such as with the identity-provider-redirector
execution), this can be managed with this resource.
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 flow = new keycloak.authentication.Flow("flow", {
realmId: realm.id,
alias: "my-flow-alias",
});
const execution = new keycloak.authentication.Execution("execution", {
realmId: realm.id,
parentFlowAlias: flow.alias,
authenticator: "identity-provider-redirector",
});
const config = new keycloak.authentication.ExecutionConfig("config", {
realmId: realm.id,
executionId: execution.id,
alias: "my-config-alias",
config: {
defaultProvider: "my-config-default-idp",
},
});
Content copied to clipboard
import pulumi
import pulumi_keycloak as keycloak
realm = keycloak.Realm("realm",
realm="my-realm",
enabled=True)
flow = keycloak.authentication.Flow("flow",
realm_id=realm.id,
alias="my-flow-alias")
execution = keycloak.authentication.Execution("execution",
realm_id=realm.id,
parent_flow_alias=flow.alias,
authenticator="identity-provider-redirector")
config = keycloak.authentication.ExecutionConfig("config",
realm_id=realm.id,
execution_id=execution.id,
alias="my-config-alias",
config={
"defaultProvider": "my-config-default-idp",
})
Content copied to clipboard
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 flow = new Keycloak.Authentication.Flow("flow", new()
{
RealmId = realm.Id,
Alias = "my-flow-alias",
});
var execution = new Keycloak.Authentication.Execution("execution", new()
{
RealmId = realm.Id,
ParentFlowAlias = flow.Alias,
Authenticator = "identity-provider-redirector",
});
var config = new Keycloak.Authentication.ExecutionConfig("config", new()
{
RealmId = realm.Id,
ExecutionId = execution.Id,
Alias = "my-config-alias",
Config =
{
{ "defaultProvider", "my-config-default-idp" },
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/authentication"
"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
}
flow, err := authentication.NewFlow(ctx, "flow", &authentication.FlowArgs{
RealmId: realm.ID(),
Alias: pulumi.String("my-flow-alias"),
})
if err != nil {
return err
}
execution, err := authentication.NewExecution(ctx, "execution", &authentication.ExecutionArgs{
RealmId: realm.ID(),
ParentFlowAlias: flow.Alias,
Authenticator: pulumi.String("identity-provider-redirector"),
})
if err != nil {
return err
}
_, err = authentication.NewExecutionConfig(ctx, "config", &authentication.ExecutionConfigArgs{
RealmId: realm.ID(),
ExecutionId: execution.ID(),
Alias: pulumi.String("my-config-alias"),
Config: pulumi.StringMap{
"defaultProvider": pulumi.String("my-config-default-idp"),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
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.authentication.Flow;
import com.pulumi.keycloak.authentication.FlowArgs;
import com.pulumi.keycloak.authentication.Execution;
import com.pulumi.keycloak.authentication.ExecutionArgs;
import com.pulumi.keycloak.authentication.ExecutionConfig;
import com.pulumi.keycloak.authentication.ExecutionConfigArgs;
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());
var flow = new Flow("flow", FlowArgs.builder()
.realmId(realm.id())
.alias("my-flow-alias")
.build());
var execution = new Execution("execution", ExecutionArgs.builder()
.realmId(realm.id())
.parentFlowAlias(flow.alias())
.authenticator("identity-provider-redirector")
.build());
var config = new ExecutionConfig("config", ExecutionConfigArgs.builder()
.realmId(realm.id())
.executionId(execution.id())
.alias("my-config-alias")
.config(Map.of("defaultProvider", "my-config-default-idp"))
.build());
}
}
Content copied to clipboard
resources:
realm:
type: keycloak:Realm
properties:
realm: my-realm
enabled: true
flow:
type: keycloak:authentication:Flow
properties:
realmId: ${realm.id}
alias: my-flow-alias
execution:
type: keycloak:authentication:Execution
properties:
realmId: ${realm.id}
parentFlowAlias: ${flow.alias}
authenticator: identity-provider-redirector
config:
type: keycloak:authentication:ExecutionConfig
properties:
realmId: ${realm.id}
executionId: ${execution.id}
alias: my-config-alias
config:
defaultProvider: my-config-default-idp
Content copied to clipboard
Import
Configurations can be imported using the format {{realm}}/{{authenticationExecutionId}}/{{authenticationExecutionConfigId}}
. If the authenticationExecutionId
is incorrect, the import will still be successful. A subsequent apply will change the authenticationExecutionId
to the correct one, which causes the configuration to be replaced. Example: bash
$ pulumi import keycloak:authentication/executionConfig:ExecutionConfig config my-realm/be081463-ddbf-4b42-9eff-9c97886f24ff/30559fcf-6fb8-45ea-8c46-2b86f46ebc17
Content copied to clipboard