authentication

package
v3.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Execution

type Execution struct {
	pulumi.CustomResourceState

	// The name of the authenticator. This can be found by experimenting with the GUI and looking at HTTP requests within the network tab of your browser's development tools.
	Authenticator pulumi.StringOutput `pulumi:"authenticator"`
	// The alias of the flow this execution is attached to.
	ParentFlowAlias pulumi.StringOutput `pulumi:"parentFlowAlias"`
	// The realm the authentication execution exists in.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
	// The requirement setting, which can be one of `REQUIRED`, `ALTERNATIVE`, `OPTIONAL`, `CONDITIONAL`, or `DISABLED`. Defaults to `DISABLED`.
	Requirement pulumi.StringPtrOutput `pulumi:"requirement"`
}

Allows for creating and managing an authentication execution within Keycloak.

An authentication execution is an action that the user or service may or may not take when authenticating through an authentication flow.

> Due to limitations in the Keycloak API, the ordering of authentication executions within a flow must be specified using `dependsOn`. Authentication executions that are created first will appear first within the flow.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak/authentication"
"github.com/pulumi/pulumi/sdk/v2/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
		}
		executionOne, err := authentication.NewExecution(ctx, "executionOne", &authentication.ExecutionArgs{
			RealmId:         realm.ID(),
			ParentFlowAlias: flow.Alias,
			Authenticator:   pulumi.String("auth-cookie"),
			Requirement:     pulumi.String("ALTERNATIVE"),
		})
		if err != nil {
			return err
		}
		_, err = authentication.NewExecution(ctx, "executionTwo", &authentication.ExecutionArgs{
			RealmId:         realm.ID(),
			ParentFlowAlias: flow.Alias,
			Authenticator:   pulumi.String("identity-provider-redirector"),
			Requirement:     pulumi.String("ALTERNATIVE"),
		}, pulumi.DependsOn([]pulumi.Resource{
			executionOne,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Authentication executions can be imported using the formats`{{realmId}}/{{parentFlowAlias}}/{{authenticationExecutionId}}`. Examplebash

```sh

$ pulumi import keycloak:authentication/execution:Execution keycloak_authentication_execution my-realm/my-flow/30559fcf-6fb8-45ea-8c46-2b86f46ebc17

```

func GetExecution

func GetExecution(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ExecutionState, opts ...pulumi.ResourceOption) (*Execution, error)

GetExecution gets an existing Execution resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewExecution

func NewExecution(ctx *pulumi.Context,
	name string, args *ExecutionArgs, opts ...pulumi.ResourceOption) (*Execution, error)

NewExecution registers a new resource with the given unique name, arguments, and options.

func (*Execution) ElementType added in v3.1.1

func (*Execution) ElementType() reflect.Type

func (*Execution) ToExecutionOutput added in v3.1.1

func (i *Execution) ToExecutionOutput() ExecutionOutput

func (*Execution) ToExecutionOutputWithContext added in v3.1.1

func (i *Execution) ToExecutionOutputWithContext(ctx context.Context) ExecutionOutput

func (*Execution) ToExecutionPtrOutput added in v3.4.1

func (i *Execution) ToExecutionPtrOutput() ExecutionPtrOutput

func (*Execution) ToExecutionPtrOutputWithContext added in v3.4.1

func (i *Execution) ToExecutionPtrOutputWithContext(ctx context.Context) ExecutionPtrOutput

type ExecutionArgs

type ExecutionArgs struct {
	// The name of the authenticator. This can be found by experimenting with the GUI and looking at HTTP requests within the network tab of your browser's development tools.
	Authenticator pulumi.StringInput
	// The alias of the flow this execution is attached to.
	ParentFlowAlias pulumi.StringInput
	// The realm the authentication execution exists in.
	RealmId pulumi.StringInput
	// The requirement setting, which can be one of `REQUIRED`, `ALTERNATIVE`, `OPTIONAL`, `CONDITIONAL`, or `DISABLED`. Defaults to `DISABLED`.
	Requirement pulumi.StringPtrInput
}

The set of arguments for constructing a Execution resource.

func (ExecutionArgs) ElementType

func (ExecutionArgs) ElementType() reflect.Type

type ExecutionArray added in v3.4.1

type ExecutionArray []ExecutionInput

func (ExecutionArray) ElementType added in v3.4.1

func (ExecutionArray) ElementType() reflect.Type

func (ExecutionArray) ToExecutionArrayOutput added in v3.4.1

func (i ExecutionArray) ToExecutionArrayOutput() ExecutionArrayOutput

func (ExecutionArray) ToExecutionArrayOutputWithContext added in v3.4.1

func (i ExecutionArray) ToExecutionArrayOutputWithContext(ctx context.Context) ExecutionArrayOutput

type ExecutionArrayInput added in v3.4.1

type ExecutionArrayInput interface {
	pulumi.Input

	ToExecutionArrayOutput() ExecutionArrayOutput
	ToExecutionArrayOutputWithContext(context.Context) ExecutionArrayOutput
}

ExecutionArrayInput is an input type that accepts ExecutionArray and ExecutionArrayOutput values. You can construct a concrete instance of `ExecutionArrayInput` via:

ExecutionArray{ ExecutionArgs{...} }

type ExecutionArrayOutput added in v3.4.1

type ExecutionArrayOutput struct{ *pulumi.OutputState }

func (ExecutionArrayOutput) ElementType added in v3.4.1

func (ExecutionArrayOutput) ElementType() reflect.Type

func (ExecutionArrayOutput) Index added in v3.4.1

func (ExecutionArrayOutput) ToExecutionArrayOutput added in v3.4.1

func (o ExecutionArrayOutput) ToExecutionArrayOutput() ExecutionArrayOutput

func (ExecutionArrayOutput) ToExecutionArrayOutputWithContext added in v3.4.1

func (o ExecutionArrayOutput) ToExecutionArrayOutputWithContext(ctx context.Context) ExecutionArrayOutput

type ExecutionConfig

type ExecutionConfig struct {
	pulumi.CustomResourceState

	// The name of the configuration.
	Alias pulumi.StringOutput `pulumi:"alias"`
	// The configuration. Keys are specific to each configurable authentication execution and not checked when applying.
	Config pulumi.StringMapOutput `pulumi:"config"`
	// The authentication execution this configuration is attached to.
	ExecutionId pulumi.StringOutput `pulumi:"executionId"`
	// The realm the authentication execution exists in.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
}

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

```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak/authentication"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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. Examplebash

```sh

$ pulumi import keycloak:authentication/executionConfig:ExecutionConfig config my-realm/be081463-ddbf-4b42-9eff-9c97886f24ff/30559fcf-6fb8-45ea-8c46-2b86f46ebc17

```

func GetExecutionConfig

func GetExecutionConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ExecutionConfigState, opts ...pulumi.ResourceOption) (*ExecutionConfig, error)

GetExecutionConfig gets an existing ExecutionConfig resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewExecutionConfig

func NewExecutionConfig(ctx *pulumi.Context,
	name string, args *ExecutionConfigArgs, opts ...pulumi.ResourceOption) (*ExecutionConfig, error)

NewExecutionConfig registers a new resource with the given unique name, arguments, and options.

func (*ExecutionConfig) ElementType added in v3.1.1

func (*ExecutionConfig) ElementType() reflect.Type

func (*ExecutionConfig) ToExecutionConfigOutput added in v3.1.1

func (i *ExecutionConfig) ToExecutionConfigOutput() ExecutionConfigOutput

func (*ExecutionConfig) ToExecutionConfigOutputWithContext added in v3.1.1

func (i *ExecutionConfig) ToExecutionConfigOutputWithContext(ctx context.Context) ExecutionConfigOutput

func (*ExecutionConfig) ToExecutionConfigPtrOutput added in v3.4.1

func (i *ExecutionConfig) ToExecutionConfigPtrOutput() ExecutionConfigPtrOutput

func (*ExecutionConfig) ToExecutionConfigPtrOutputWithContext added in v3.4.1

func (i *ExecutionConfig) ToExecutionConfigPtrOutputWithContext(ctx context.Context) ExecutionConfigPtrOutput

type ExecutionConfigArgs

type ExecutionConfigArgs struct {
	// The name of the configuration.
	Alias pulumi.StringInput
	// The configuration. Keys are specific to each configurable authentication execution and not checked when applying.
	Config pulumi.StringMapInput
	// The authentication execution this configuration is attached to.
	ExecutionId pulumi.StringInput
	// The realm the authentication execution exists in.
	RealmId pulumi.StringInput
}

The set of arguments for constructing a ExecutionConfig resource.

func (ExecutionConfigArgs) ElementType

func (ExecutionConfigArgs) ElementType() reflect.Type

type ExecutionConfigArray added in v3.4.1

type ExecutionConfigArray []ExecutionConfigInput

func (ExecutionConfigArray) ElementType added in v3.4.1

func (ExecutionConfigArray) ElementType() reflect.Type

func (ExecutionConfigArray) ToExecutionConfigArrayOutput added in v3.4.1

func (i ExecutionConfigArray) ToExecutionConfigArrayOutput() ExecutionConfigArrayOutput

func (ExecutionConfigArray) ToExecutionConfigArrayOutputWithContext added in v3.4.1

func (i ExecutionConfigArray) ToExecutionConfigArrayOutputWithContext(ctx context.Context) ExecutionConfigArrayOutput

type ExecutionConfigArrayInput added in v3.4.1

type ExecutionConfigArrayInput interface {
	pulumi.Input

	ToExecutionConfigArrayOutput() ExecutionConfigArrayOutput
	ToExecutionConfigArrayOutputWithContext(context.Context) ExecutionConfigArrayOutput
}

ExecutionConfigArrayInput is an input type that accepts ExecutionConfigArray and ExecutionConfigArrayOutput values. You can construct a concrete instance of `ExecutionConfigArrayInput` via:

ExecutionConfigArray{ ExecutionConfigArgs{...} }

type ExecutionConfigArrayOutput added in v3.4.1

type ExecutionConfigArrayOutput struct{ *pulumi.OutputState }

func (ExecutionConfigArrayOutput) ElementType added in v3.4.1

func (ExecutionConfigArrayOutput) ElementType() reflect.Type

func (ExecutionConfigArrayOutput) Index added in v3.4.1

func (ExecutionConfigArrayOutput) ToExecutionConfigArrayOutput added in v3.4.1

func (o ExecutionConfigArrayOutput) ToExecutionConfigArrayOutput() ExecutionConfigArrayOutput

func (ExecutionConfigArrayOutput) ToExecutionConfigArrayOutputWithContext added in v3.4.1

func (o ExecutionConfigArrayOutput) ToExecutionConfigArrayOutputWithContext(ctx context.Context) ExecutionConfigArrayOutput

type ExecutionConfigInput added in v3.1.1

type ExecutionConfigInput interface {
	pulumi.Input

	ToExecutionConfigOutput() ExecutionConfigOutput
	ToExecutionConfigOutputWithContext(ctx context.Context) ExecutionConfigOutput
}

type ExecutionConfigMap added in v3.4.1

type ExecutionConfigMap map[string]ExecutionConfigInput

func (ExecutionConfigMap) ElementType added in v3.4.1

func (ExecutionConfigMap) ElementType() reflect.Type

func (ExecutionConfigMap) ToExecutionConfigMapOutput added in v3.4.1

func (i ExecutionConfigMap) ToExecutionConfigMapOutput() ExecutionConfigMapOutput

func (ExecutionConfigMap) ToExecutionConfigMapOutputWithContext added in v3.4.1

func (i ExecutionConfigMap) ToExecutionConfigMapOutputWithContext(ctx context.Context) ExecutionConfigMapOutput

type ExecutionConfigMapInput added in v3.4.1

type ExecutionConfigMapInput interface {
	pulumi.Input

	ToExecutionConfigMapOutput() ExecutionConfigMapOutput
	ToExecutionConfigMapOutputWithContext(context.Context) ExecutionConfigMapOutput
}

ExecutionConfigMapInput is an input type that accepts ExecutionConfigMap and ExecutionConfigMapOutput values. You can construct a concrete instance of `ExecutionConfigMapInput` via:

ExecutionConfigMap{ "key": ExecutionConfigArgs{...} }

type ExecutionConfigMapOutput added in v3.4.1

type ExecutionConfigMapOutput struct{ *pulumi.OutputState }

func (ExecutionConfigMapOutput) ElementType added in v3.4.1

func (ExecutionConfigMapOutput) ElementType() reflect.Type

func (ExecutionConfigMapOutput) MapIndex added in v3.4.1

func (ExecutionConfigMapOutput) ToExecutionConfigMapOutput added in v3.4.1

func (o ExecutionConfigMapOutput) ToExecutionConfigMapOutput() ExecutionConfigMapOutput

func (ExecutionConfigMapOutput) ToExecutionConfigMapOutputWithContext added in v3.4.1

func (o ExecutionConfigMapOutput) ToExecutionConfigMapOutputWithContext(ctx context.Context) ExecutionConfigMapOutput

type ExecutionConfigOutput added in v3.1.1

type ExecutionConfigOutput struct {
	*pulumi.OutputState
}

func (ExecutionConfigOutput) ElementType added in v3.1.1

func (ExecutionConfigOutput) ElementType() reflect.Type

func (ExecutionConfigOutput) ToExecutionConfigOutput added in v3.1.1

func (o ExecutionConfigOutput) ToExecutionConfigOutput() ExecutionConfigOutput

func (ExecutionConfigOutput) ToExecutionConfigOutputWithContext added in v3.1.1

func (o ExecutionConfigOutput) ToExecutionConfigOutputWithContext(ctx context.Context) ExecutionConfigOutput

func (ExecutionConfigOutput) ToExecutionConfigPtrOutput added in v3.4.1

func (o ExecutionConfigOutput) ToExecutionConfigPtrOutput() ExecutionConfigPtrOutput

func (ExecutionConfigOutput) ToExecutionConfigPtrOutputWithContext added in v3.4.1

func (o ExecutionConfigOutput) ToExecutionConfigPtrOutputWithContext(ctx context.Context) ExecutionConfigPtrOutput

type ExecutionConfigPtrInput added in v3.4.1

type ExecutionConfigPtrInput interface {
	pulumi.Input

	ToExecutionConfigPtrOutput() ExecutionConfigPtrOutput
	ToExecutionConfigPtrOutputWithContext(ctx context.Context) ExecutionConfigPtrOutput
}

type ExecutionConfigPtrOutput added in v3.4.1

type ExecutionConfigPtrOutput struct {
	*pulumi.OutputState
}

func (ExecutionConfigPtrOutput) ElementType added in v3.4.1

func (ExecutionConfigPtrOutput) ElementType() reflect.Type

func (ExecutionConfigPtrOutput) ToExecutionConfigPtrOutput added in v3.4.1

func (o ExecutionConfigPtrOutput) ToExecutionConfigPtrOutput() ExecutionConfigPtrOutput

func (ExecutionConfigPtrOutput) ToExecutionConfigPtrOutputWithContext added in v3.4.1

func (o ExecutionConfigPtrOutput) ToExecutionConfigPtrOutputWithContext(ctx context.Context) ExecutionConfigPtrOutput

type ExecutionConfigState

type ExecutionConfigState struct {
	// The name of the configuration.
	Alias pulumi.StringPtrInput
	// The configuration. Keys are specific to each configurable authentication execution and not checked when applying.
	Config pulumi.StringMapInput
	// The authentication execution this configuration is attached to.
	ExecutionId pulumi.StringPtrInput
	// The realm the authentication execution exists in.
	RealmId pulumi.StringPtrInput
}

func (ExecutionConfigState) ElementType

func (ExecutionConfigState) ElementType() reflect.Type

type ExecutionInput added in v3.1.1

type ExecutionInput interface {
	pulumi.Input

	ToExecutionOutput() ExecutionOutput
	ToExecutionOutputWithContext(ctx context.Context) ExecutionOutput
}

type ExecutionMap added in v3.4.1

type ExecutionMap map[string]ExecutionInput

func (ExecutionMap) ElementType added in v3.4.1

func (ExecutionMap) ElementType() reflect.Type

func (ExecutionMap) ToExecutionMapOutput added in v3.4.1

func (i ExecutionMap) ToExecutionMapOutput() ExecutionMapOutput

func (ExecutionMap) ToExecutionMapOutputWithContext added in v3.4.1

func (i ExecutionMap) ToExecutionMapOutputWithContext(ctx context.Context) ExecutionMapOutput

type ExecutionMapInput added in v3.4.1

type ExecutionMapInput interface {
	pulumi.Input

	ToExecutionMapOutput() ExecutionMapOutput
	ToExecutionMapOutputWithContext(context.Context) ExecutionMapOutput
}

ExecutionMapInput is an input type that accepts ExecutionMap and ExecutionMapOutput values. You can construct a concrete instance of `ExecutionMapInput` via:

ExecutionMap{ "key": ExecutionArgs{...} }

type ExecutionMapOutput added in v3.4.1

type ExecutionMapOutput struct{ *pulumi.OutputState }

func (ExecutionMapOutput) ElementType added in v3.4.1

func (ExecutionMapOutput) ElementType() reflect.Type

func (ExecutionMapOutput) MapIndex added in v3.4.1

func (ExecutionMapOutput) ToExecutionMapOutput added in v3.4.1

func (o ExecutionMapOutput) ToExecutionMapOutput() ExecutionMapOutput

func (ExecutionMapOutput) ToExecutionMapOutputWithContext added in v3.4.1

func (o ExecutionMapOutput) ToExecutionMapOutputWithContext(ctx context.Context) ExecutionMapOutput

type ExecutionOutput added in v3.1.1

type ExecutionOutput struct {
	*pulumi.OutputState
}

func (ExecutionOutput) ElementType added in v3.1.1

func (ExecutionOutput) ElementType() reflect.Type

func (ExecutionOutput) ToExecutionOutput added in v3.1.1

func (o ExecutionOutput) ToExecutionOutput() ExecutionOutput

func (ExecutionOutput) ToExecutionOutputWithContext added in v3.1.1

func (o ExecutionOutput) ToExecutionOutputWithContext(ctx context.Context) ExecutionOutput

func (ExecutionOutput) ToExecutionPtrOutput added in v3.4.1

func (o ExecutionOutput) ToExecutionPtrOutput() ExecutionPtrOutput

func (ExecutionOutput) ToExecutionPtrOutputWithContext added in v3.4.1

func (o ExecutionOutput) ToExecutionPtrOutputWithContext(ctx context.Context) ExecutionPtrOutput

type ExecutionPtrInput added in v3.4.1

type ExecutionPtrInput interface {
	pulumi.Input

	ToExecutionPtrOutput() ExecutionPtrOutput
	ToExecutionPtrOutputWithContext(ctx context.Context) ExecutionPtrOutput
}

type ExecutionPtrOutput added in v3.4.1

type ExecutionPtrOutput struct {
	*pulumi.OutputState
}

func (ExecutionPtrOutput) ElementType added in v3.4.1

func (ExecutionPtrOutput) ElementType() reflect.Type

func (ExecutionPtrOutput) ToExecutionPtrOutput added in v3.4.1

func (o ExecutionPtrOutput) ToExecutionPtrOutput() ExecutionPtrOutput

func (ExecutionPtrOutput) ToExecutionPtrOutputWithContext added in v3.4.1

func (o ExecutionPtrOutput) ToExecutionPtrOutputWithContext(ctx context.Context) ExecutionPtrOutput

type ExecutionState

type ExecutionState struct {
	// The name of the authenticator. This can be found by experimenting with the GUI and looking at HTTP requests within the network tab of your browser's development tools.
	Authenticator pulumi.StringPtrInput
	// The alias of the flow this execution is attached to.
	ParentFlowAlias pulumi.StringPtrInput
	// The realm the authentication execution exists in.
	RealmId pulumi.StringPtrInput
	// The requirement setting, which can be one of `REQUIRED`, `ALTERNATIVE`, `OPTIONAL`, `CONDITIONAL`, or `DISABLED`. Defaults to `DISABLED`.
	Requirement pulumi.StringPtrInput
}

func (ExecutionState) ElementType

func (ExecutionState) ElementType() reflect.Type

type Flow

type Flow struct {
	pulumi.CustomResourceState

	// The alias for this authentication flow.
	Alias pulumi.StringOutput `pulumi:"alias"`
	// A description for the authentication flow.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The type of authentication flow to create. Valid choices include `basic-flow` and `client-flow`. Defaults to `basic-flow`.
	ProviderId pulumi.StringPtrOutput `pulumi:"providerId"`
	// The realm that the authentication flow exists in.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
}

Allows for creating and managing an authentication flow within Keycloak.

[Authentication flows](https://www.keycloak.org/docs/11.0/server_admin/index.html#_authentication-flows) describe a sequence of actions that a user or service must perform in order to be authenticated to Keycloak. The authentication flow itself is a container for these actions, which are otherwise known as executions.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v3/go/keycloak/authentication"
"github.com/pulumi/pulumi/sdk/v2/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
		}
		_, err = authentication.NewExecution(ctx, "execution", &authentication.ExecutionArgs{
			RealmId:         realm.ID(),
			ParentFlowAlias: flow.Alias,
			Authenticator:   pulumi.String("identity-provider-redirector"),
			Requirement:     pulumi.String("REQUIRED"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Authentication flows can be imported using the format `{{realmId}}/{{authenticationFlowId}}`. The authentication flow ID is typically a GUID which is autogenerated when the flow is created via Keycloak. Unfortunately, it is not trivial to retrieve the authentication flow ID from the UI. The best way to do this is to visit the "Authentication" page in Keycloak, and use the network tab of your browser to view the response of the API call to `/auth/admin/realms/${realm}/authentication/flows`, which will be a list of authentication flows. Examplebash

```sh

$ pulumi import keycloak:authentication/flow:Flow flow my-realm/e9a5641e-778c-4daf-89c0-f4ef617987d1

```

func GetFlow

func GetFlow(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlowState, opts ...pulumi.ResourceOption) (*Flow, error)

GetFlow gets an existing Flow resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFlow

func NewFlow(ctx *pulumi.Context,
	name string, args *FlowArgs, opts ...pulumi.ResourceOption) (*Flow, error)

NewFlow registers a new resource with the given unique name, arguments, and options.

func (*Flow) ElementType added in v3.1.1

func (*Flow) ElementType() reflect.Type

func (*Flow) ToFlowOutput added in v3.1.1

func (i *Flow) ToFlowOutput() FlowOutput

func (*Flow) ToFlowOutputWithContext added in v3.1.1

func (i *Flow) ToFlowOutputWithContext(ctx context.Context) FlowOutput

func (*Flow) ToFlowPtrOutput added in v3.4.1

func (i *Flow) ToFlowPtrOutput() FlowPtrOutput

func (*Flow) ToFlowPtrOutputWithContext added in v3.4.1

func (i *Flow) ToFlowPtrOutputWithContext(ctx context.Context) FlowPtrOutput

type FlowArgs

type FlowArgs struct {
	// The alias for this authentication flow.
	Alias pulumi.StringInput
	// A description for the authentication flow.
	Description pulumi.StringPtrInput
	// The type of authentication flow to create. Valid choices include `basic-flow` and `client-flow`. Defaults to `basic-flow`.
	ProviderId pulumi.StringPtrInput
	// The realm that the authentication flow exists in.
	RealmId pulumi.StringInput
}

The set of arguments for constructing a Flow resource.

func (FlowArgs) ElementType

func (FlowArgs) ElementType() reflect.Type

type FlowArray added in v3.4.1

type FlowArray []FlowInput

func (FlowArray) ElementType added in v3.4.1

func (FlowArray) ElementType() reflect.Type

func (FlowArray) ToFlowArrayOutput added in v3.4.1

func (i FlowArray) ToFlowArrayOutput() FlowArrayOutput

func (FlowArray) ToFlowArrayOutputWithContext added in v3.4.1

func (i FlowArray) ToFlowArrayOutputWithContext(ctx context.Context) FlowArrayOutput

type FlowArrayInput added in v3.4.1

type FlowArrayInput interface {
	pulumi.Input

	ToFlowArrayOutput() FlowArrayOutput
	ToFlowArrayOutputWithContext(context.Context) FlowArrayOutput
}

FlowArrayInput is an input type that accepts FlowArray and FlowArrayOutput values. You can construct a concrete instance of `FlowArrayInput` via:

FlowArray{ FlowArgs{...} }

type FlowArrayOutput added in v3.4.1

type FlowArrayOutput struct{ *pulumi.OutputState }

func (FlowArrayOutput) ElementType added in v3.4.1

func (FlowArrayOutput) ElementType() reflect.Type

func (FlowArrayOutput) Index added in v3.4.1

func (FlowArrayOutput) ToFlowArrayOutput added in v3.4.1

func (o FlowArrayOutput) ToFlowArrayOutput() FlowArrayOutput

func (FlowArrayOutput) ToFlowArrayOutputWithContext added in v3.4.1

func (o FlowArrayOutput) ToFlowArrayOutputWithContext(ctx context.Context) FlowArrayOutput

type FlowInput added in v3.1.1

type FlowInput interface {
	pulumi.Input

	ToFlowOutput() FlowOutput
	ToFlowOutputWithContext(ctx context.Context) FlowOutput
}

type FlowMap added in v3.4.1

type FlowMap map[string]FlowInput

func (FlowMap) ElementType added in v3.4.1

func (FlowMap) ElementType() reflect.Type

func (FlowMap) ToFlowMapOutput added in v3.4.1

func (i FlowMap) ToFlowMapOutput() FlowMapOutput

func (FlowMap) ToFlowMapOutputWithContext added in v3.4.1

func (i FlowMap) ToFlowMapOutputWithContext(ctx context.Context) FlowMapOutput

type FlowMapInput added in v3.4.1

type FlowMapInput interface {
	pulumi.Input

	ToFlowMapOutput() FlowMapOutput
	ToFlowMapOutputWithContext(context.Context) FlowMapOutput
}

FlowMapInput is an input type that accepts FlowMap and FlowMapOutput values. You can construct a concrete instance of `FlowMapInput` via:

FlowMap{ "key": FlowArgs{...} }

type FlowMapOutput added in v3.4.1

type FlowMapOutput struct{ *pulumi.OutputState }

func (FlowMapOutput) ElementType added in v3.4.1

func (FlowMapOutput) ElementType() reflect.Type

func (FlowMapOutput) MapIndex added in v3.4.1

func (FlowMapOutput) ToFlowMapOutput added in v3.4.1

func (o FlowMapOutput) ToFlowMapOutput() FlowMapOutput

func (FlowMapOutput) ToFlowMapOutputWithContext added in v3.4.1

func (o FlowMapOutput) ToFlowMapOutputWithContext(ctx context.Context) FlowMapOutput

type FlowOutput added in v3.1.1

type FlowOutput struct {
	*pulumi.OutputState
}

func (FlowOutput) ElementType added in v3.1.1

func (FlowOutput) ElementType() reflect.Type

func (FlowOutput) ToFlowOutput added in v3.1.1

func (o FlowOutput) ToFlowOutput() FlowOutput

func (FlowOutput) ToFlowOutputWithContext added in v3.1.1

func (o FlowOutput) ToFlowOutputWithContext(ctx context.Context) FlowOutput

func (FlowOutput) ToFlowPtrOutput added in v3.4.1

func (o FlowOutput) ToFlowPtrOutput() FlowPtrOutput

func (FlowOutput) ToFlowPtrOutputWithContext added in v3.4.1

func (o FlowOutput) ToFlowPtrOutputWithContext(ctx context.Context) FlowPtrOutput

type FlowPtrInput added in v3.4.1

type FlowPtrInput interface {
	pulumi.Input

	ToFlowPtrOutput() FlowPtrOutput
	ToFlowPtrOutputWithContext(ctx context.Context) FlowPtrOutput
}

type FlowPtrOutput added in v3.4.1

type FlowPtrOutput struct {
	*pulumi.OutputState
}

func (FlowPtrOutput) ElementType added in v3.4.1

func (FlowPtrOutput) ElementType() reflect.Type

func (FlowPtrOutput) ToFlowPtrOutput added in v3.4.1

func (o FlowPtrOutput) ToFlowPtrOutput() FlowPtrOutput

func (FlowPtrOutput) ToFlowPtrOutputWithContext added in v3.4.1

func (o FlowPtrOutput) ToFlowPtrOutputWithContext(ctx context.Context) FlowPtrOutput

type FlowState

type FlowState struct {
	// The alias for this authentication flow.
	Alias pulumi.StringPtrInput
	// A description for the authentication flow.
	Description pulumi.StringPtrInput
	// The type of authentication flow to create. Valid choices include `basic-flow` and `client-flow`. Defaults to `basic-flow`.
	ProviderId pulumi.StringPtrInput
	// The realm that the authentication flow exists in.
	RealmId pulumi.StringPtrInput
}

func (FlowState) ElementType

func (FlowState) ElementType() reflect.Type

type Subflow

type Subflow struct {
	pulumi.CustomResourceState

	Alias pulumi.StringOutput `pulumi:"alias"`
	// Might be needed to be set with certain custom subflow with specific authenticator, in general this will remain empty
	Authenticator   pulumi.StringPtrOutput `pulumi:"authenticator"`
	Description     pulumi.StringPtrOutput `pulumi:"description"`
	ParentFlowAlias pulumi.StringOutput    `pulumi:"parentFlowAlias"`
	ProviderId      pulumi.StringPtrOutput `pulumi:"providerId"`
	RealmId         pulumi.StringOutput    `pulumi:"realmId"`
	Requirement     pulumi.StringPtrOutput `pulumi:"requirement"`
}

func GetSubflow

func GetSubflow(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubflowState, opts ...pulumi.ResourceOption) (*Subflow, error)

GetSubflow gets an existing Subflow resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubflow

func NewSubflow(ctx *pulumi.Context,
	name string, args *SubflowArgs, opts ...pulumi.ResourceOption) (*Subflow, error)

NewSubflow registers a new resource with the given unique name, arguments, and options.

func (*Subflow) ElementType added in v3.1.1

func (*Subflow) ElementType() reflect.Type

func (*Subflow) ToSubflowOutput added in v3.1.1

func (i *Subflow) ToSubflowOutput() SubflowOutput

func (*Subflow) ToSubflowOutputWithContext added in v3.1.1

func (i *Subflow) ToSubflowOutputWithContext(ctx context.Context) SubflowOutput

func (*Subflow) ToSubflowPtrOutput added in v3.4.1

func (i *Subflow) ToSubflowPtrOutput() SubflowPtrOutput

func (*Subflow) ToSubflowPtrOutputWithContext added in v3.4.1

func (i *Subflow) ToSubflowPtrOutputWithContext(ctx context.Context) SubflowPtrOutput

type SubflowArgs

type SubflowArgs struct {
	Alias pulumi.StringInput
	// Might be needed to be set with certain custom subflow with specific authenticator, in general this will remain empty
	Authenticator   pulumi.StringPtrInput
	Description     pulumi.StringPtrInput
	ParentFlowAlias pulumi.StringInput
	ProviderId      pulumi.StringPtrInput
	RealmId         pulumi.StringInput
	Requirement     pulumi.StringPtrInput
}

The set of arguments for constructing a Subflow resource.

func (SubflowArgs) ElementType

func (SubflowArgs) ElementType() reflect.Type

type SubflowArray added in v3.4.1

type SubflowArray []SubflowInput

func (SubflowArray) ElementType added in v3.4.1

func (SubflowArray) ElementType() reflect.Type

func (SubflowArray) ToSubflowArrayOutput added in v3.4.1

func (i SubflowArray) ToSubflowArrayOutput() SubflowArrayOutput

func (SubflowArray) ToSubflowArrayOutputWithContext added in v3.4.1

func (i SubflowArray) ToSubflowArrayOutputWithContext(ctx context.Context) SubflowArrayOutput

type SubflowArrayInput added in v3.4.1

type SubflowArrayInput interface {
	pulumi.Input

	ToSubflowArrayOutput() SubflowArrayOutput
	ToSubflowArrayOutputWithContext(context.Context) SubflowArrayOutput
}

SubflowArrayInput is an input type that accepts SubflowArray and SubflowArrayOutput values. You can construct a concrete instance of `SubflowArrayInput` via:

SubflowArray{ SubflowArgs{...} }

type SubflowArrayOutput added in v3.4.1

type SubflowArrayOutput struct{ *pulumi.OutputState }

func (SubflowArrayOutput) ElementType added in v3.4.1

func (SubflowArrayOutput) ElementType() reflect.Type

func (SubflowArrayOutput) Index added in v3.4.1

func (SubflowArrayOutput) ToSubflowArrayOutput added in v3.4.1

func (o SubflowArrayOutput) ToSubflowArrayOutput() SubflowArrayOutput

func (SubflowArrayOutput) ToSubflowArrayOutputWithContext added in v3.4.1

func (o SubflowArrayOutput) ToSubflowArrayOutputWithContext(ctx context.Context) SubflowArrayOutput

type SubflowInput added in v3.1.1

type SubflowInput interface {
	pulumi.Input

	ToSubflowOutput() SubflowOutput
	ToSubflowOutputWithContext(ctx context.Context) SubflowOutput
}

type SubflowMap added in v3.4.1

type SubflowMap map[string]SubflowInput

func (SubflowMap) ElementType added in v3.4.1

func (SubflowMap) ElementType() reflect.Type

func (SubflowMap) ToSubflowMapOutput added in v3.4.1

func (i SubflowMap) ToSubflowMapOutput() SubflowMapOutput

func (SubflowMap) ToSubflowMapOutputWithContext added in v3.4.1

func (i SubflowMap) ToSubflowMapOutputWithContext(ctx context.Context) SubflowMapOutput

type SubflowMapInput added in v3.4.1

type SubflowMapInput interface {
	pulumi.Input

	ToSubflowMapOutput() SubflowMapOutput
	ToSubflowMapOutputWithContext(context.Context) SubflowMapOutput
}

SubflowMapInput is an input type that accepts SubflowMap and SubflowMapOutput values. You can construct a concrete instance of `SubflowMapInput` via:

SubflowMap{ "key": SubflowArgs{...} }

type SubflowMapOutput added in v3.4.1

type SubflowMapOutput struct{ *pulumi.OutputState }

func (SubflowMapOutput) ElementType added in v3.4.1

func (SubflowMapOutput) ElementType() reflect.Type

func (SubflowMapOutput) MapIndex added in v3.4.1

func (SubflowMapOutput) ToSubflowMapOutput added in v3.4.1

func (o SubflowMapOutput) ToSubflowMapOutput() SubflowMapOutput

func (SubflowMapOutput) ToSubflowMapOutputWithContext added in v3.4.1

func (o SubflowMapOutput) ToSubflowMapOutputWithContext(ctx context.Context) SubflowMapOutput

type SubflowOutput added in v3.1.1

type SubflowOutput struct {
	*pulumi.OutputState
}

func (SubflowOutput) ElementType added in v3.1.1

func (SubflowOutput) ElementType() reflect.Type

func (SubflowOutput) ToSubflowOutput added in v3.1.1

func (o SubflowOutput) ToSubflowOutput() SubflowOutput

func (SubflowOutput) ToSubflowOutputWithContext added in v3.1.1

func (o SubflowOutput) ToSubflowOutputWithContext(ctx context.Context) SubflowOutput

func (SubflowOutput) ToSubflowPtrOutput added in v3.4.1

func (o SubflowOutput) ToSubflowPtrOutput() SubflowPtrOutput

func (SubflowOutput) ToSubflowPtrOutputWithContext added in v3.4.1

func (o SubflowOutput) ToSubflowPtrOutputWithContext(ctx context.Context) SubflowPtrOutput

type SubflowPtrInput added in v3.4.1

type SubflowPtrInput interface {
	pulumi.Input

	ToSubflowPtrOutput() SubflowPtrOutput
	ToSubflowPtrOutputWithContext(ctx context.Context) SubflowPtrOutput
}

type SubflowPtrOutput added in v3.4.1

type SubflowPtrOutput struct {
	*pulumi.OutputState
}

func (SubflowPtrOutput) ElementType added in v3.4.1

func (SubflowPtrOutput) ElementType() reflect.Type

func (SubflowPtrOutput) ToSubflowPtrOutput added in v3.4.1

func (o SubflowPtrOutput) ToSubflowPtrOutput() SubflowPtrOutput

func (SubflowPtrOutput) ToSubflowPtrOutputWithContext added in v3.4.1

func (o SubflowPtrOutput) ToSubflowPtrOutputWithContext(ctx context.Context) SubflowPtrOutput

type SubflowState

type SubflowState struct {
	Alias pulumi.StringPtrInput
	// Might be needed to be set with certain custom subflow with specific authenticator, in general this will remain empty
	Authenticator   pulumi.StringPtrInput
	Description     pulumi.StringPtrInput
	ParentFlowAlias pulumi.StringPtrInput
	ProviderId      pulumi.StringPtrInput
	RealmId         pulumi.StringPtrInput
	Requirement     pulumi.StringPtrInput
}

func (SubflowState) ElementType

func (SubflowState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL